AngularJS:Custom指令类型Attribute和type Element之间的区别

时间:2014-08-07 10:40:07

标签: angularjs angularjs-scope

假设有一个自定义指令:

  • 定义展开或替换的自定义标记或属性
  • 可以包含控制器逻辑(如果需要)

并且指令可以是Element

类型
<my-customdirective></my-customdirective>

或类型属性

<h4 my-customdirective></h4>

我的问题是什么时候我决定使用一个而不是另一个?

2 个答案:

答案 0 :(得分:4)

引自documentation

  

我应该何时使用属性与元素?何时使用元素   您正在创建一个控制模板的组件。该   这种情况的常见情况是您创建特定于域的时间   部分模板的语言。在您使用时使用属性   使用新功能装饰现有元素。

答案 1 :(得分:1)

需要考虑的一些要点:

  • 大多数时间属性是最好/最方便的选项(它不是偶然的默认值)。
  • 您可以使用元素绑定指令执行任何操作,也可以使用属性绑定。
  • 元素绑定指令有时可能更具描述性/可读性。
  • 如果您希望代码通过某些类型的验证,则应使用属性。
  • 由于您要支持IE8,请记住自定义标记会产生额外的开销(更多信息),这会损害可维护性。

For More Details