什么时候使用 ngAttr?
When to use 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
,这些情况已知会导致问题
- size in elements (see issue 1619)
- placeholder in in Internet Explorer 10/11 (see issue 5025)
- type in in Internet Explorer 11 (see issue 14117)
- value in in Internet Explorer = 11 (see issue 7218)
只是想澄清一下。有人告诉我,当有内插标记时,你应该使用 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
,这些情况已知会导致问题
- size in elements (see issue 1619)
- placeholder in in Internet Explorer 10/11 (see issue 5025)
- type in in Internet Explorer 11 (see issue 14117)
- value in in Internet Explorer = 11 (see issue 7218)