これは、以前の質問から少し便乗しています。モデル/配列からのディレクティブとデータを操作しようとしています
私のモデルは次のようになります。
$scope.testModel = {
inputA:[1,2,3]
};
次に、それぞれに入力があります。
私のディレクティブは、キーアップ時に、入力が特定の数値 (10) より大きいかどうかをチェックしています。そうであれば、それを 10 に設定します。
link: function(scope, element) {
scope.$watch('ngModel',function(val){
element.val(scope.ngModel);
});
element.bind("keyup", function(event) {
if(parseInt(element.val())>10){
element.val(10);
scope.ngModel=element.val();
scope.$apply();
}
});
}
問題は、入力に応じてエラーが発生することです。
TypeError: 未定義のプロパティ '0' を設定できません
私が設定したエラーとコードを確認するためのフィドルは次のとおりです: https://jsfiddle.net/prXm3/3/
ノート
サーバーから直接データセットを受け取るので、データセットを変更したくありません。モデルを変更してinputA0:1,inputA1:2,inputA2:3
機能させることができることはわかっていますが、アプリが取得したときにデータを変換し、サーバーに送り返すときに再変換する必要があります。モデルを設定したままにしておくことをお勧めします。