我想写一个paginated
指令,它就像ng-repeat
一样,但是首先预处理迭代集合(用于分页)。我以为我可以这样做:
<tr paginated="item for item in list" page="3" per-page="10">
<td>[[item.foo]]</td>
<td>[[item.bar]]</td>
</tr>
我想以某种方式重复使用ng-repeat
来实现这一点,但是我给它的一些模糊尝试都没有用。我怎么能这样做?
这是我想出的最好的(注意它甚至不完全一样):
app.directive('paginated', function() {
return {
replace: true,
transclude: true,
scope: {
data: '=',
perPage: '@',
},
template:
'<div ng-repeat="item for item in l"><div ng-transclude></div>',
link: function(scope, elem, attrs, ngRepeat) {
scope.l = data;
// do stuff with scope.l
},
}
});
答案 0 :(得分:2)
您可以使用过滤器进行分页,这是另一个stackoverflow问题,您可以在其中查看它是如何实现的:Pagination on a list using ng-repeat