私は指令を持っています:
app.directive('mydirective', function () {
return {
scope: {
field: '='
},
require: 'ngModel',
link: function (scope, element, attrs, contr) {
contr.$parsers.unshift(function (value) {
console.log(scope.mymodel);
});
}
}
});
ディレクティブを使用するフォームがあります
<form ng-submit="submit()">
<input type="text" ng-model="mymodel" mydirective field="123" />
<div>{{mymodel}}</div>
</form>
input
要素のモデルは に設定されmymodel
ます。の下に、input
このモデルの値を表示したいと思います。
問題は、値{{mymodel}}
がレンダリングされないことです。そして、フィールドに入力してもmymodel
、現在の状態$scope
は決して変わらないようです。input
これは、ディレクティブが別のスコープを作成するためだと思いましたがconsole.log(scope.mymodel)
、関数内でも同様にlink
出力undefined
されます。
なくmydirective
てinput
も、フィールドの下にあるモデルの値を問題なく確認できます。
モデルがどこに保管されているか説明してもらえますか? それはどのスコープにありますか?
ライブコード: