Javascript 第二次使用过滤器返回空数组时angularjs ng重复

Javascript 第二次使用过滤器返回空数组时angularjs ng重复,javascript,angularjs,Javascript,Angularjs,关于angularjs的学习过程,我刚刚创建了一个带有分页的表。这是密码 HTML <table class="table"> <thead> <tr> <th>ID</th> <th>NAME</th> <th>EMAIL</th> </tr> </th

关于angularjs的学习过程,我刚刚创建了一个带有分页的表。这是密码

HTML

 <table class="table">
      <thead>
        <tr>
          <th>ID</th>
          <th>NAME</th>
          <th>EMAIL</th>
        </tr>
      </thead>
      <tbody>
        <tr ng-repeat="user in data | range:selectedPage:pageSize">
          <td>{{user.id}}</td>
          <td>{{user.name}}</td>
          <td>{{user.email}}</td>
        </tr>
      </tbody>
    </table>
    <div class="pull-right btn-group">
      <a ng-repeat="page in data | filter:pageCount:pageSize" ng-click="selectPage($index + 1)" class="btn btn-default" ng-class="getPageClass($index + 1)">
    {{$index + 1}}
    </a>
    </div>
  </div>

身份证件
名称
电子邮件
{{user.id}
{{user.name}
{{user.email}

我试着控制
范围
过滤器,但我看到它运行了两次。 第一次使用3行数据,第二次使用空数组。由于返回空数组,所以不绘制表

我可以知道为什么它返回空数组而不是3数组。如何克服这个问题

pageCount
过滤器也没有按预期工作,但是这里的
pageCount
过滤器甚至没有运行一次


<tr ng-repeat="user in data | range:user:selectedPage:pageSize">

您没有向筛选器发送数据。更新此。也许它会帮助您(y)

我发现了错误。我使用的是
splice
方法,它直接作用于源阵列本身

虽然筛选器不会影响$scope.data,但会影响指令数据。由于筛选器多次运行,它会一次又一次地删除数据,从而导致空数组。因此,不绘制表格

$filter("limitTo")(data.splice(start_index), size);

$filter("limitTo")(data.slice(start_index), size);

这是更新的

谢谢您的帮助。但是数据由管道自动发送到过滤器。如果要对多个数据使用过滤器,则必须使用如下语法{{yourExpression | yourFilter:arg1:arg2:…}}检查一下。。它会帮助你的
$filter("limitTo")(data.slice(start_index), size);