Angular Dir-Pagination和调用控制器功能

时间:2015-07-07 20:01:15

标签: javascript angularjs pagination

我在表格下面有一个有角度的html片段我试图使用Dir-Paginate连接,并且还根据controller.js上的函数设置了表行更改类

<tr dir-pagination="response in vm.responses  | toArray | orderBy:'-completionTime' | itemsPerPage: $root.pagination.itemsPerPage" class="{{ vm.getRowClass($index) }}">
    <td> {{ $index + 1 }}</td>
    <td><a ui-sref="response({uri:response.uri})">{{ response.name }}</a></td>
    <td><a href="mailto:{{ response.email }}">{{ response.email }}</a></td>
 <tr>

<dir-pagination-controls ng-show="appvm.showDataTable()" boundary-links="true" on-page-change="pageChangeHandler(newPageNumber)" template-url="ng/pagination"></dir-pagination-controls>

如果我删除所有Dir-Pagination语法并使其只是正常ng-repeat vm.getRowClass($index)正常工作,则根据函数的逻辑更改类。但是,当我尝试添加dir-pagination语法时,我会收到$Index is undefined错误。

问题似乎是Dir-Paginate不允许我传递$index或与<tr>

在同一行的任何项目

1 个答案:

答案 0 :(得分:1)

在评论和一些游戏之后,我找到了解决方案。

我需要将track by $index添加到itemsPerPage: $root.pagination.itemsPerPage区域的末尾。

在下方正确显示。

<tr dir-pagination="response in vm.responses  | toArray | orderBy:'-completionTime' | itemsPerPage: $root.pagination.itemsPerPage track by $index" class="{{ vm.getRowClass($index) }}">
    <td> {{ $index + 1 }}</td>
    <td><a ui-sref="response({uri:response.uri})">{{ response.name }}</a></td>
    <td><a href="mailto:{{ response.email }}">{{ response.email }}</a></td>
 <tr>