その下にボタンがあるテキストフィールドのリストがあります。AngularJS を使用して、そのリストにテキスト フィールドを動的に追加できます。
デフォルトでは、テキスト フィールドの値は空です。しかし、そのテキスト フィールドの値を更新したらすぐに、リスト アイテムの位置を並べ替えたいと思います。しかし、私がそれを行うと、orderBy
トリガーされません。
どうすればこれを実現できますか?
ここに簡単なデモがあります: http://jsfiddle.net/fqnKt/214/
その下にボタンがあるテキストフィールドのリストがあります。AngularJS を使用して、そのリストにテキスト フィールドを動的に追加できます。
デフォルトでは、テキスト フィールドの値は空です。しかし、そのテキスト フィールドの値を更新したらすぐに、リスト アイテムの位置を並べ替えたいと思います。しかし、私がそれを行うと、orderBy
トリガーされません。
どうすればこれを実現できますか?
ここに簡単なデモがあります: http://jsfiddle.net/fqnKt/214/
例が間違っている理由を具体的に書き留めたかっただけです (orderBy ディレクティブを使用していても同じ問題が発生したため)。
使用禁止
track by $index
あなたのng-repeatで
これがあなたが望むものだと思います:
<div ng-app="myApp">
<div ng-controller="MyCtrl">
<ul>
<li ng-repeat="item in items | orderBy:'name'">
<input type="text" ng-model="item.name" /> {{item.name}}
</li>
</ul>
<input ng-model="newItem" type="text"></input>
<button ng-click="add(newItem)">Add</button>
</div>
</div>