我在 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/