更新ngModel后更新ngRepeat orderBy

时间:2014-09-26 20:19:52

标签: angularjs angularjs-ng-repeat angularjs-orderby

我有一个文本字段列表,下面有一个按钮。我可以使用AngularJS动态地将文本字段添加到该列表中。

默认情况下,文本字段的值为空。但是我想在更新该文本字段的值后立即订购列表项的位置。但是当我这样做时,orderBy没有被触发。

我怎样才能实现这一目标?

这是一个快速演示:http://jsfiddle.net/fqnKt/214/

2 个答案:

答案 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>

Working Example