3

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

1 回答 1

2

您可以使用过滤器进行分页,这是另一个 stackoverflow 问题,您可以在其中看到它是如何实现的:Pagination on a list using ng-repeat

于 2013-06-17T15:46:33.730 回答