我想要编写一个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
},
}
});发布于 2013-06-17 23:46:34
您可以使用过滤器进行分页,这是另一个堆栈溢出问题,您可以在其中查看它是如何实现的:Pagination on a list using ng-repeat
https://stackoverflow.com/questions/17150192
复制相似问题