角度滤波器在使用ng-if时无效

时间:2016-03-19 03:15:47

标签: javascript angularjs

我似乎在这里错过了一些用搜索框过滤ng-repeat的东西。

<li ng-if="searchTab"><input type="text" class="form-control" placeholder="Search"  ng-model="search" >
  </li>

和ng-repeat

<div dir-paginate="saving in savings| orderBy:orderByField:!reverseSort| filter:search | filter:{retailer:filterBy}|itemsPerPage:10" class="list-group-item">

当我在搜索框中输入时,有什么明显的理由说明过滤器没有做任何事情吗?

编辑 - 我注意到如果我删除ng - 如果它有效。有没有办法同时使用它们?

2 个答案:

答案 0 :(得分:1)

如果在控制器的初始化阶段,searchTab的值为false,则不评估输入div。因此,ng-model指令不会在控制器范围上创建变量“search”。因此,请将“搜索”声明为控制器中的变量。

答案 1 :(得分:0)

而不是使用ng-if使用ng-show。

<li ng-show="searchTab"><input type="text" class="form-control" placeholder="Search"  ng-model="search" >
  </li>