【问题标题】:Getting "Cannot read property 'slice' of undefined" from AngularJS $Filter从AngularJS $Filter获取“无法读取未定义的属性'切片'”
【发布时间】:2017-11-05 21:24:32
【问题描述】:

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

代码

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

【问题讨论】:

    标签: angularjs filter


    【解决方案1】:

    我认为可以在控制器开头初始化变量。

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

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

    希望对你有帮助。

    【讨论】:

    • 谢谢您,先生!在这个项目上坐了 5 个小时,完全错过了这个解决方案。我想是时候上床了。
    猜你喜欢
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 2019-12-26
    • 2016-05-07
    • 1970-01-01
    • 2020-06-27
    • 2016-10-23
    • 2017-04-28
    相关资源
    最近更新 更多