我想编写一个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
},
}
});