我在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
我怀疑是在加载页面时我仍然没有值,因为它是从一个承诺中获得的。
答案 0 :(得分:2)
这应该有所帮助:
.filter('param', function() {
return function(x) {
if(x && typeof x === "string") return x.split('__')[0];
else return x;
};
})
解释:
只有当x
不是x
或null
时才能应用undefined
的分割函数具有一定的价值。
因此,我们添加一个检查以验证变量x