我有一个文本字段列表,下面有一个按钮。我可以使用 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>