何时使用ngAttr?

时间:2016-09-12 23:17:03

标签: angularjs angularjs-interpolate

只是想要一些澄清。有人告诉我,当插入标记时,你会想要使用ngAttr。例如:

<div ng-attr-name={{Name}}></div>

我也看到一些在线代码,其中有内插标记,但它们不使用ngAttr。在使用ngAttr时是否存在某些情况,在处理插值标记时不使用ngAttr?

1 个答案:

答案 0 :(得分:1)

我记得在使用<svg/>并尝试插入诸如cx之类的属性时遇到此问题(这恰好是当前angularjs文档中的经典示例)。当您尝试以下操作时,浏览器会抱怨:

<svg>
  <circle cx="{{cx}}"></circle>
</svg>

由于使用SVG DOM API时的限制。因此,ng-attr指令与

一起派上用场
<svg>
  <circle ng-attr-cx="{{cx}}"></circle>
</svg>

因此,在此方案中使用`ng-attr-指令将根据您的绑定适当地设置值。现在,我在文档中注意到的新内容是以下案例,如果您不使用ng-attr已知会导致问题

  
      元素中的
  • 大小(请参阅issue 1619
  •   
  • 占位符在Internet Explorer 10/11中(请参阅issue 5025
  •   
  • 在Internet Explorer 11中输入(请参阅issue 14117
  •   
  • Internet Explorer中的值= 11(请参阅issue 7218
  •