用于分页的AngularJS自定义过滤器

时间:2015-03-12 16:18:24

标签: javascript angularjs

我在startFrom文件中实现了以下过滤器(app.js):

app.filter('startFrom', function () {
        return function (input, start) {
            start = +start;
            return input.slice(start);
        }
    });

我以一种不正确的方式修改数据,并在页面加载时应用过滤器。 问题是使用过滤器时数据不可用。

<div class="panel panel-default" ng-repeat="hotel in hotels | filter:search | startFrom:currentPage*itemsPerPage | orderBy:sortBy.Name :order.reverse | limitTo:itemsPerPage">

如何在数据可用后应用过滤器?

1 个答案:

答案 0 :(得分:0)

&#34;过滤器应始终检查其输入的有效性。 输入可能是异步操作的结果, 所以过滤器不能确定输入总是如此 它正在评估何时进行评估。&#34;

相应单词试试这个

 app.filter('startFrom', function () {
    return function (input, start) {
        if (!angular.isArray(input)) {
            return [];
        }
        start = +start;
        return input.slice(start);
    }
});

您还没有写过,但尝试仅使用搜索和分页过滤器,有时其他过滤器可能是问题,因此您确定问题出在您的分页过滤器中。