【问题标题】:ngRepeat orderBy update after ngModel is updatedngModel 更新后 ngRepeat orderBy 更新
【发布时间】:2014-11-21 22:42:19
【问题描述】:

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

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

我怎样才能做到这一点?

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

【问题讨论】:

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


    【解决方案1】:

    我只是想特别指出示例错误的原因(因为即使我使用的是 orderBy 指令,我也遇到了同样的问题)。

    请勿使用

    track by $index
    

    在你的 ng-repeat 中

    【讨论】:

    • 我遇到了这个问题。一切看起来都应该可以工作,但我在那里留下了一个“... track by object_id”。删除它,所有列表排序都按预期工作。谢谢!
    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-11
      • 1970-01-01
      • 2017-05-31
      • 1970-01-01
      • 2017-06-29
      • 2023-04-02
      相关资源
      最近更新 更多