javascript - ng-repeat 与 track by、filter 和 orderBy 不起作用

标签 javascript angularjs angularjs-scope angularjs-ng-repeat

我有这个代码。

http://jsfiddle.net/0tgL7u6e/

JavaScript

var myApp = angular.module('myApp',[]);

function MyCtrl($scope) {
    $scope.nameFilter = '';
    $scope.contacts = [
        {name: 'GHI'},
        {name: 'DEF'},
        {name: 'ABC'},
        {name: 'JKL'}
    ];
}

查看

<div ng-controller="MyCtrl">
    <div><input type="text" ng-model="nameFilter" placeholder="Search..." /></div>
    <p ng-repeat="contact in contacts track by $index | filter: nameFilter | orderBy: name">{{ contact.name }}</p>
</div>

我不知道为什么订单不起作用以及为什么过滤器不起作用。

在另一个问题上,我读到了有关对象无法过滤或排序的内容。但我有一个上面的对象数组。另外,它应该可以工作!?

有什么问题吗?

最佳答案

要使用过滤器进行跟踪,必须在过滤器之后添加跟踪表达式。

<p ng-repeat="contact in contacts | orderBy: 'name' | filter: nameFilter  track by $index">{{ contact.name }}</p>

这是工作 fiddle

关于javascript - ng-repeat 与 track by、filter 和 orderBy 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29608450/

相关文章:

javascript - Visual Studio Mac appsettings.json 允许不显眼的 javascript

javascript - 如何恢复 dojo dgrid 中的单个编辑行?

javascript - 扩展 sap.m.Table 中的事件未触发

html - 错误 :Failed to execute 'atob' on 'Window' : The string to be decoded is not correctly encoded

javascript - 如何使用 javascript 或 angularjs 从 html 标签中提取/编辑属性?

javascript - 如何使用 jquery 根据请求的 URL 在 slider 中显示特定幻灯片

javascript - $state.go 在 app.run 中的 $stateChangeStart 内不起作用

javascript - 如何通过嵌入将父指令属性值传递到子指令范围?

AngularJS:如何正确使用指令、范围和绑定(bind)以避免内存泄漏?

javascript - 无法访问 View 中的范围 - Angular