短い答え:
ng-model
とdata-ng-model
同じで同等です!
どうして?
理由: data-
プレフィックス
HTML5仕様では、カスタム属性の前にを付ける必要がありdata-
ます。
:理由の両方ng-model
とdata-ng-model
同じと等価です。
AngularJSドキュメント-正規化
Angularは、要素のタグと属性名を正規化して、どの要素がどのディレクティブに一致するかを決定します。通常、ディレクティブは、大文字と小文字を区別するcamelCaseの正規化された名前(などngModel
)で参照します。ただし、HTMLでは大文字と小文字が区別されないため、通常はDOM要素のダッシュ区切りの属性を使用して、小文字の形式でDOM内のディレクティブを参照します(などng-model
)。
正規化プロセスは次のとおりです
。1 .要素/属性の前から削除x-
しdata-
ます。
2.変換:
、-
または_
-delimited名前がにcamelCase
。
例えば
次の形式はすべて同等であり、ngBindディレクティブと一致します。
<div ng-controller="Controller">
Hello <input ng-model='name'> <hr/>
<span ng-bind="name"></span> <br/>
<span ng:bind="name"></span> <br/>
<span ng_bind="name"></span> <br/>
<span data-ng-bind="name"></span> <br/>
<span x-ng-bind="name"></span> <br/>
</div>