ng-repeat
配列の内容を含む入力要素を使用して、ページに表示される $scope オブジェクトの配列を更新しようとしています。plunker の例はここにあります: Plunker demo (基本的な、私の問題の簡略化された例)
次の設定オブジェクトが定義されています。
$scope.settings = {
list: ['list item one', 'list item two', 'list item three']
};
そして、ページ上のデータを次のように表しています。
<ul>
<li ng-repeat="item in settings.list">
<input type="text"
value="{{item}}"
ng-model="singleItem"
ng-change="settings.list[$index] = singleItem" />
<a href="javascript:void(0)">delete</a>
</li>
</ul>
私の目標は、最初に<input>
フィールドにコンテンツを入力し$scope.settings.list
、アイテムが変更されるたびに配列を更新することですが、ビューでの方法がわかりません。入力の and を省略するng-model
とng-change
、入力値がテキスト ボックスに適切にレンダリングされますが、変更が加えられても配列は変更されません。
補足: Plunker の例では$watch
、設定オブジェクトを使用しています。$cookies
私の実際のコードでは、これはmoduleを使用して「設定 Cookie」を更新するために使用されます。この例では Cookie は省略されていますが、デバッグの目的でウォッチはそのままにしてあります。