0

angular js docs を試していました。http://docs.angularjs.org/api/ng.directive:ngInitでこの ng-init を見つけました

ng-init を行うには 2 つの方法があると言われています。

  1. ng-init="{式}"
  2. class="ng-init:{expression}"

同じことを 2 つの方法で行う理由はありますか。

私はこれがjsフィドルであることを試しました

1---->method 1 http://jsfiddle.net/3ghXP/

2---->method 2 http://jsfiddle.net/2Nyaf/1/

しかし、生成された html に 1 つの違いが見つかりました。

方法 1 で生成された html には class="ng-scope" がありました

方法 1 によって生成された html には、ディレクティブ ng-scope だけがありました

しかし、2つの違いは何ですか? それぞれをどこで使用する必要がありますか。

4

1 に答える 1

2

angularjs で作成されたすべてのディレクティブは、構成されているかどうかに応じて、要素、属性、クラス、またはコメント (EACM) レベルで適用できます。ディレクティブは、ng-init属性またはクラスとして使用できるように構成されているため、これら 2 つの構文があります。これらのモードを理解するには、ディレクティブのドキュメントを参照してください。

なぜそれらが必要なのかについて。これの一部は、古いブラウザ (特に IE ) をサポートするために必要であり、利便性のために残ります。ng-init常に属性ベースの構文に固執することをお勧めします。

于 2013-11-06T06:26:22.540 に答える