只是想要一些澄清。有人告诉我,当有插值标记时,您应该使用 ngAttr。例如:
<div ng-attr-name={{Name}}></div>
我还在网上看到了一些代码,其中有插值标记,但它们不使用 ngAttr。在处理插值标记时,是否存在使用 ngAttr 而不使用 ngAttr 的某些情况?
只是想要一些澄清。有人告诉我,当有插值标记时,您应该使用 ngAttr。例如:
<div ng-attr-name={{Name}}></div>
我还在网上看到了一些代码,其中有插值标记,但它们不使用 ngAttr。在处理插值标记时,是否存在使用 ngAttr 而不使用 ngAttr 的某些情况?
我记得在使用<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)