javascript - AngularJS 中过滤器的未定义参数

标签 javascript angularjs angularjs-filter

我在 AngularJS 中有一个过滤器,但是当我尝试使用此过滤器在 View 中表示值时,我得到了未定义的 x。

我的代码:

.filter('param', function() {
    return function(x) {
        console.log(x);
        return x.split('__')[0];
    };
})

查看

{{value | param}}

结果

angular.js:13920 TypeError: Cannot read property 'split' of undefined

我怀疑加载页面时我仍然没有该值,因为它是从 promise 中获得的。

最佳答案

这应该有帮助:

.filter('param', function() {
    return function(x) {
        if(x && typeof x === "string") return x.split('__')[0];
        else return x;
    };
})

说明:

只有当x有一定值时,才可以应用分割函数,换句话说,当x不为null时未定义

因此,我们添加一个检查来验证变量x

关于javascript - AngularJS 中过滤器的未定义参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41637078/

相关文章:

javascript - AngularJS 绑定(bind)数据

AngularJS 过滤器触发无限 $digest 循环

javascript - 本地存储阵列

javascript - Gitlab - runner - 退出状态1

sql - firebase:在 firebase 中实现模式搜索

javascript - AngularJS Bootstrap 模式在完整日历事件 onclick 上卡住

javascript - 如何在 ui-grid 中过滤多个值? ( Angular )

javascript - 根据选定的复选框和选择字段过滤数组

javascript - 如何使 Gulp 任务将项目的每个 jsx 文件转换为不同的 .js 文件?

javascript - 类型错误 : Cannot read property of undefined using React