第一次搜索后,过滤的搜索会返回重复项

时间:2014-10-30 17:00:28

标签: html5 angularjs angularjs-scope angularjs-ng-repeat angularjs-service

在我的angularJS网络应用程序中,我在这段代码中显示了一些名称(构成数组SearchRcps的一部分),这些名称由插入输入搜索栏的searchString过滤。我执行此操作$index%4==0将结果分布在每行4列的几行中。当我进行第一次搜索时,结果是正确的,但是当我回来清空搜索字符串或进行第二次搜索时,显示重复搜索。

<div class="col-xs-12">
                    <div class="row" ng-repeat="rcpGroup in SearchRcps | filter:searchString track by $index" ng-if="$index%4==0">
                        <div class="col-sm-6 col-md-3" ng-repeat="rcp in (SearchRcps | filter:searchString).slice($parent.$index,$parent.$index+4)">
                            <p>{{rcp.name}}</p>
                        </div>
                    </div>      
                </div>

任何

1 个答案:

答案 0 :(得分:1)

尝试将{div}中的ng-if="$index%4==0"子句移动到单独的div:

<div class="col-xs-12">
    <div class="row" ng-repeat="rcpGroup in SearchRcps | filter:searchString track by $index">
         <div ng-if="$index%4==0">
              <div class="col-sm-6 col-md-3" ng-repeat="rcp in (SearchRcps | filter:searchString).slice($parent.$index,$parent.$index+4)">
                     <p>{{rcp.name}}</p>
              </div>
         </div>      
    </div>
</div>