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