我有一个文本字段列表,下面有一个按钮。我可以使用AngularJS动态地将文本字段添加到该列表中。
默认情况下,文本字段的值为空。但是我想在更新该文本字段的值后立即订购列表项的位置。但是当我这样做时,orderBy
没有被触发。
我怎样才能实现这一目标?
这是一个快速演示:http://jsfiddle.net/fqnKt/214/
答案 0 :(得分:3)
我只是想特别注意为什么这个例子是错的(因为即使我使用orderBy指令,我也有同样的问题)。
请勿使用
track by $index
在您的ng-repeat
中答案 1 :(得分:2)
我认为这就是你想要的:
<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>