2

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

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

我怎样才能做到这一点?

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

4

2 回答 2

3

我只是想特别说明为什么这个例子是错误的(因为即使我使用了 orderBy 指令,我也遇到了同样的问题)。

不使用

track by $index

在你的 ng-repeat

于 2016-01-25T08:59:42.847 回答
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>

工作示例

于 2014-09-26T20:45:16.693 回答