1

次のように使用するために、角度用の単純なページネーションフィルターを作成しようとしています:

<ul>
    <li ng-repeat="page in items | paginate: 10">
        <ul>
           <li ng-repeat="item in page">{{ item }}</li>
        </ul>
    </li>
</ul>

私は簡単な関数を書きました:

angular.module('app.filters', [])
    .filter('paginate', function() {
        return function(input, perPage) {
            var pages = [],
                perPage = perPage || 10;

            for (i=0; i < input.length; i += perPage)
                pages.push(input.slice(i, i + perPage));

            return pages;
        };
    });

そして、角度が非常に不可解な(少なくとも私にとっては)エラーメッセージでクラッシュしました。問題はフィルター結果のネストされたリストにあることがわかりました。問題を再現するには、次のようにするだけで十分です。

angular.module('app.filters', [])
    .filter('paginate', function() {
        return function(input, perPage) {
            return [[1,2,3],[4,5,6]];
        };
    });

教えてください:

  • ネストされたリストが角度フィルターの問題になるのはなぜですか?
  • ドキュメントのどこでそれについて読むことができますか?
  • 最終的に正しい方法でフィルターを作成するにはどうすればよいですか?

このプランカーですべてのコードを確認できます: http://plnkr.co/edit/gUIJcJg0p5LqKGH10B8t?p=preview コードを実行した後、コンソールを開くと、エラー メッセージが表示されます。

ありがとうございました

4

2 に答える 2