我有这个错误:
简短版本:“小写不是函数”.
虽然我的应用程序将AngularJS强制执行到1.4.9,但我们没有强制执行angular-sanitize,因此它解析为1.7.0并且该版本的AngularJS小写函数不再存在,从而产生错误.
可能通过强制角度消毒到固定版本可以解决这个问题,但我想超越修复它并了解导致问题的原因和原因,因为我发现了一些不一致的地方.
> AngularJS被强制为1.4.9. bower-components文件夹保存此版本,编译后构建文件夹也保留此版本,Chrome上的开发人员面板仅显示此版本.这个版本确实有小写的方法.
> Angular-sanitize的角度为1.7.0作为依赖,但它永远不会下载.不在整个项目的任何单个文件夹或子文件夹中,也不在编译中,也不在Chrome中.所以我猜他唯一可以访问的angular.js是1.4.9,它有小写方法.
我不太明白为什么如果唯一可用的angular.js仍然具有该方法,则“小写不是函数”错误出现.另外我不明白为什么angular-sanitize 1.7.0要求angular 1.7.0在AngularJS 1.7.0上使用不存在的方法(Angular开发人员错了?但我很难相信它.)
可能消毒是以某种方式下载和访问角度1.7.0,但我想知道如何.只是出于好奇.并且还要确认这是一个有角度的开发人员错误还是我错过了什么.
最佳答案 它在官方
Angular 1.6 to 1.7 Migration Guide中解释:
Due to 07001, the helper functions
angular.lowercase
andangular.uppercase
have been removed.These functions have been deprecated since 1.5.0. They are internally used, but should not be exposed as they contain special locale handling (for Turkish) to maintain internal consistency regardless of user-set locale.
Developers should generally use the built-ins
toLowerCase
andtoUpperCase
ortoLocaleLowerCase
andtoLocaleUpperCase
for special cases.Further, we generally discourage using the angular.x helpers in application code.