1

只是想要一些澄清。有人告诉我,当有插值标记时,您应该使用 ngAttr。例如:

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

我还在网上看到了一些代码,其中有插值标记,但它们不使用 ngAttr。在处理插值标记时,是否存在使用 ngAttr 而不使用 ngAttr 的某些情况?

4

1 回答 1

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
于 2016-09-13T00:11:43.270 回答