这是我的HTML
<body>
<div ng-app="repeatdemo" ng-controller="rd">
<input type="text" ng-model="nameSearch" />
<div ng-repeat="x in names track by $index | filter : nameSearch">
{{x }}
</div>
</div>
这是我的剧本
<script>
var rdapp=angular.module("repeatdemo",[]);
rdapp.controller("rd",function($scope){
$scope.names=['deepu','vicky','hello','hey','vickys'];
});
</script>
当我使用$index in repeat
选项跟踪时,过滤器无效
请检查this fiddle并尝试删除track by index
ng-repeat
答案 0 :(得分:9)
问题是您在
中应用过滤器和轨道的顺序http://jsfiddle.net/n3xnzvvs/1/
<div ng-repeat="x in names | filter : nameSearch track by $index">
答案 1 :(得分:5)
如果您查看ngRepeat的文档,请在ngRepeat参数的说明中找到:
例如:项目中的项目filter:searchText track by item.id是一种模式,可用于将过滤器与跟踪表达式一起应用于项目。
ng-repeat指令的代码应如下所示:
<div ng-repeat="x in names | filter: nameSearch track by $index">