获取"无法阅读财产'切片'未定义"来自AngularJS $ Filter

时间:2017-11-05 21:24:32

标签: angularjs filter

我正在使用AngularJS。我正在使用过滤器为我正在显示数据的表创建分页。过滤器在所有内容都已加载时工作正常,但最初,它无法读取' slice'未定义的。我的猜测是它在有一些合适的数据可用之前运行。我的问题是。我应该把它放在哪里?现在它位于我的控制器文件的底部。它应该在一个单独的文件中吗?如果是这样,我该如何使用它?

代码

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

1 个答案:

答案 0 :(得分:1)

你可以在控制器的开头初始化变量。

或者甚至更好,您可以在执行切片之前检查input是否存在。像这样:

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

希望它有所帮助。