AngularJS

时间:2017-01-13 14:40:33

标签: javascript angularjs angularjs-filter

我在AngularJS中有一个过滤器但是当我尝试用这个过滤器在视图中表示值时,我得到了未定义的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

我怀疑是在加载页面时我仍然没有值,因为它是从一个承诺中获得的。

1 个答案:

答案 0 :(得分:2)

这应该有所帮助:

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

解释

只有当x不是xnull时才能应用undefined的分割函数具有一定的价值。

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