在制作 Angular Directive(指令)时,似乎有一组指令可以合理地定义为 HTML 元素或属性。我试图弄清楚社区惯例(如果有的话)是围绕选择哪一个以及为什么。
例如,以属性为中心的 View 可能是:
<div list-container>
<div list-filter/>
<div list="listOptions"/>
</div>
在元素样式 View 中也是如此:
<list-container>
<list-filter />
<list controller="listOptions" />
</list-container>
我个人偏好第二个(似乎更容易阅读,不必担心 spans 与 div 等),但我见过的大多数示例和库似乎更喜欢属性方法(使得有效的 html ?)
最佳答案
如果你想支持IE8或更低版本,请忘记elements。属性或类名是正确的选择。
否则,我认为这很大程度上取决于指令的类型:
- 如果该指令旨在用作组件,即实质性功能,有自己的模板等,我会选择一个元素。例如选项卡控件、 Accordion 、日历等。
- 如果该指令只是向内置元素(输入、选择等)或第一种自定义指令添加一个小行为,我会将其设为一个属性。
关于javascript - 将 angularjs 指令设置为 "attributes"还是 "elements"是更好的约定吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20648532/