我有这个代码。
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/