我正在尝试在ng-repeat
这是我的代码:
<ul id="testDiv2" class="dropdownH">
<input type="text" placeholder="Keyword Filter" data-ng-model="search.category.category_name">
<li data-ng-repeat="category in categories track by $index | filter: search.category.category_name"
data-ng-click="selectCategory($index)">
<div class="colony pull-left">
<span>{{category.category_name}}</span>
</div>
<div class="pull-right">
<input type="radio" name="tag" />
<label></label>
</div>
</li>
</ul>
以上代码无效。但是,如果我删除track by $index
,那么它正在运行。
有什么建议吗?
答案 0 :(得分:2)
你有逐个表达的问题,在过滤器之后使用它
例如使用
data-ng-repeat="category in categories | filter:search track by $index"
工作演示:
angular.module("test",[]).
controller("testController",function($scope){
$scope.categories = [{category_name:'abc'},{category_name:'cde'}];
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="test" >
<ul id="testDiv2" ng-controller="testController" class="dropdownH">
<input type="text" placeholder="Keyword Filter" data-ng-model="search">
<li data-ng-repeat="category in categories | filter:search track by $index" data-ng-click="selectCategory($index)">
<div class="colony pull-left"><span>{{category.category_name}}</span></div>
<div class="pull-right"><input type="radio" name="tag" /><label></label></div>
</li>
</ul>
&#13;
答案 1 :(得分:1)
我找到了解决方案
我需要使用
<li data-ng-repeat="category in categories | filter: search.category.category_name track by $index" data-ng-click="selectCategory($index)"