我是一个团队的成员,该团队有大约6个UI开发人员,质量各异,几乎没有Angular经验。许多是承包商,几乎没有代码库经验。该应用程序具有非常漂亮的(复杂的)UI。它支持IE8 +(希望很快会成为IE9 +)。
我们正在为应用程序的主要扩展引入Angular,并且有人要求我为团队编写有关使用Angular的准则。
我们将使用指令来创建精美的UI元素,所有元素均以“ ipwr”为前缀,以避免名称冲突。我正在尝试确定是否要强制要求开发人员为其指令赋予限制“元素”或“属性”。仅强制执行一项,以避免混乱和混乱。
我的问题是:对于“ element”或“ attribute”指令,哪种限制更好或更受欢迎?我的主要关注点是对于不具备Angular经验的新手,这些人是应用程序代码基础的新手,以减少错误,复制和粘贴行为等。
角度指南指出,只要指令完全控制其模板(即其具有要渲染的模板等),都应使用“ element”限制。
对于属性,他们建议仅在将“行为”添加到现有元素或装饰现有元素时才使用这些属性。
例如,以ng-click指令为例,它用作属性而不是元素,因为click指令只是将click行为添加到某个元素。
另一个示例是ng-repeat指令,它也用作属性而不是元素,因为它将重复使用该元素的元素。
现在,该指南来自相关文档。但是,我不确定元素vs.属性是否会给您“更好”的方法,它更像是一种约定。
现在,如果您必须支持较旧的浏览器,则可能需要考虑使用注释或类指令。
我个人的喜好是只使用属性限制;主要是因为刚接触角度的人在看到限制时会不知所措,这是可以使用的选项的变体。