AngularJS过滤器在ng-repeat中不起作用

时间:2019-02-14 19:16:50

标签: angularjs filter

我正在尝试使用ng-repeat内的过滤器来基于复选框值过滤显示的记录。 在ng-repeat内部,我显示了一组具有另一个复选框的记录。如果我选择顶部的复选框,则该表应仅显示选中该复选框的记录。

我尝试调试{{trail ['filterValue']}}的值,它返回 {“ selected”:true} 。这正是我想要的,因为我希望ng-repeat只显示已选择设置为true的记录。

ng-重复使用过滤器的地方:

<tbody class="with-trailors" ng-repeat="title in trail.listTitlesWrap | filter: trail['filterValue']  | orderBy:['-fromParent','usReleaseDateAsDate'] ">

下面是我编写的用于设置“ filterValue”变量值的方法。

$scope.showSelectedTitles = function(trail){
      if(trail.bShowSelected == false)
          trail.filterValue = {};
      else
      trail.filterValue = {selected : true};
}

这是复选框的代码,用于在所选记录和所有记录之间切换。

<span class="selectText">View Selected Target Titles Only </span>
 <input type="checkbox" id="chkBox" ng-model="trail.bShowSelected" ng-change="showSelectedTitles(trail)"/>
 <label for="chkBox" style="margin-bottom: -7px;">
       <span class="check"></span>
 </label>

单击复选框不会更新现有的记录列表,这意味着未应用过滤器。 我对angularjs的知识非常有限,并且已经尝试了很多调试。

有人可以帮助我了解丢失的内容以及为什么不应用过滤器吗?

0 个答案:

没有答案