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

フィルターを使用してページネーションを行うことができます。実装方法を確認できる別のスタックオーバーフローの質問があります: ng-repeat を使用したリストのページネーション

于 2013-06-17T15:46:33.730 に答える