角度过滤器不起作用

时间:2015-02-18 11:02:05

标签: javascript angularjs

我正在尝试在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,那么它正在运行。

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

你有逐个表达的问题,在过滤器之后使用它

例如使用

data-ng-repeat="category in categories  | filter:search track by $index"

工作演示:

&#13;
&#13;
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;
&#13;
&#13;

答案 1 :(得分:1)

我找到了解决方案

我需要使用

<li data-ng-repeat="category in categories  | filter: search.category.category_name track by $index" data-ng-click="selectCategory($index)"