gpt4 book ai didi

javascript - 自定义 Angular 过滤器给出 TypeError 无法调用未定义,但变量已定义且有效

转载 作者:行者123 更新时间:2023-11-30 08:47:51 25 4
gpt4 key购买 nike

我制作了以下 Angular 过滤器,使单词全部大写:

   angular.module('module.name').filter('toUpperCase', function() {
return function(input) {
return input.toUpperCase();
};
});

在我看来,我正在使用以下行:

   {{city | toUpperCase}}

当我运行代码 city 时,它应该被转换为大写字母。但是,当我查看控制台时,出现以下错误:

    TypeError: Cannot call method 'toUpperCase' of undefined

对于我使用的每个过滤器,我都会两次收到此错误。您制作的每个过滤器是否应该在执行代码或其他操作之前首先检查是否有任何输入?

最佳答案

是的。当 JavaScript 尝试访问 undefined object 的任何属性时,将抛出此错误。

您可以使用 default-hack 模式来抑制这种情况:

return function(input) {
input = input || '';
return input.toUpperCase();
};

关于javascript - 自定义 Angular 过滤器给出 TypeError 无法调用未定义,但变量已定义且有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20409389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com