未捕获TypeError: angular.lowercase不是函数
这个错误出现在我的angularjs应用程序中,并且整个应用程序都没有运行。这是它在textAngular-sanitize.js:413
中的展示。
由于无法调试,我尝试使用与angular.js相同的版本,但没有成功。请为我提供解决方案。除了控制台中的这个错误消息之外,我没有任何东西可以分享。
textAngular-sanitize.js:413 Uncaught TypeError: angular.lowercase is not a function
at parseEndTag (textAngular-sanitize.js:413)
at htmlParser (textAngular-sanitize.js:378)
at textAngular-sanitize.js:147
at textAngularSetup.js:443
at Object.invoke (angular.js:5093)
at angular.js:4892
at forEach (angular.js:374)
at createInjector (angular.js:4892)
at doBootstrap (angular.js:1923)
at bootstrap (angular.js:1944)
发布于 2018-05-21 20:02:16
正如你所看到的here,angular弃用了他们的lowercase
util方法。
您使用的库尚未更新,因此仅与1.6.7之前的angular版本兼容。但是由于你得到了这个错误,你使用的angular版本可能更高。
您可以选择
(A)将angular降级至1.6.7,在您的bower.json中:
"dependencies": {
"angular": "1.6.7",
...
}
"resolutions": {
"angular": "1.6.7"
}
(B)通过添加以下方法来创建一个简单的变通方法:
angular.lowercase = text => text.toLowerCase();
确保在加载angular之后,但在应用程序启动之前完成此操作。
发布于 2018-07-28 02:29:41
Angular 1.7.*仍然有小写功能,但它被重命名为$$lowercase。这是一种可能的解决方法。Buyer beware based on Angular documentation。
angular.module('MyApp').config(function() {
angular.lowercase = angular.$$lowercase;
});
发布于 2018-06-06 14:43:11
我想分享我的观点,以帮助其他像我一样苦苦挣扎的人,主要的问题是angularJS官方从他们的库中删除了小写和大写函数,所以使用textangular -saniize.js的人会得到这个错误,因为textangular的库中仍然有这个方法,它将通过这个问题。
你可以从你的项目中删除textAngular Sanitise.js,也可以在app.js加载之前将Ovidiu Dolha代码包含在angular.module中,如下所示。
angular.uppercase=function(text){
return text.toUpperCase();
}
angular.lowercase=function(text){
return text.toLowerCase();
}
angular.module('sampleApp', ....)
Ovidiu Dolha给出的代码
angular.lowercase = text => text.toLowerCase();
可以写成
angular.lowercase=function(text){
return text.toLowerCase();
}
两者都会起作用。谢谢。
https://stackoverflow.com/questions/50448326
复制相似问题