渡されたオブジェクトに双方向でバインドするディレクティブを作成しようとしています。
angular.module('app').directive('lmDataBox', function () {
return {
restrict: 'A',
scope: {
lmdata: '=',
},
template: '<input type="text" ng-model="lmdata.displayValue">',
link: function link(scope, element, attrs) {
scope.lmdata.displayValue = 'testvalue';
}
};
ただし、「displayValue」を文字列に設定しても、入力ボックスは空です。
私は何が間違っているのですか?
私はあなたの問題を見つけたかもしれません:
lmdataはおそらく親スコープに設定されていません。これは、scope.lmdata.displayValueを設定しようとすると、未定義のスコープ変数を設定しようとすることを意味します。
これを解決するには、次のように親スコープにlmdataを設定する必要があります。
$scope.lmdata = {'displayValue':''};
ここでplnkrで実用的な例を作成しました(便宜上、制限を「E」に変更しただけです)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加