1

説明が欲しかっただけです。補間されたマークアップがある場合は ngAttr を使用することになっていると言われました。例えば:

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

また、補間されたマークアップがあるが、ngAttr を使用していないコードをオンラインでいくつか見ました。補間されたマークアップを扱うときに ngAttr を使用して ngAttr を使用しない特定の状況はありますか?

4

1 に答える 1

1

cx などの属性を使用して補間しようとしたときに、この問題に遭遇したことを思い出し<svg/>ます (これは、たまたま現在の angularjs ドキュメントの古典的な例です)。次のことを試みると、ブラウザーは文句を言います。

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

SVG DOM API を使用する際の制限のため。したがって、ng-attrディレクティブは便利です

<svg>
  <circle ng-attr-cx="{{cx}}"></circle>
</svg>

その結果、このシナリオで `ng-attr- ディレクティブを使用すると、バインディングに基づいて値が適切に設定されます。ここで、ドキュメントで新しく気付いたのは、ng-attr を使用しない場合に問題を引き起こすことがわかっている次のケースです。

  • 要素のサイズ (問題 1619を参照)
  • Internet Explorer 10/11 のプレースホルダー ( issue 5025を参照)
  • Internet Explorer 11 で入力します (問題 14117を参照)
  • Internet Explorer の値 = 11 (問題 7218を参照)
于 2016-09-13T00:11:43.270 に答える