我在表格下面有一个有角度的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>
答案 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>