AngularJS ngSanitize错误1.7.0

时间:2018-05-14 09:16:05

标签: angularjs dependencies lowercase versions angular-sanitizer

我几乎得到了这个错误: AngularJS ngSanitize Error

简短版本:"小写不是函数"。

虽然我的应用程序将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,但我想知道如何。只是出于好奇。并且还要确认这是一个有角度的开发人员错误还是我错过了什么。

1 个答案:

答案 0 :(得分:1)

官方Angular 1.6 to 1.7 Migration Guide

对此进行了解释
  

由于1daa4f,辅助函数angular.lowercaseangular.uppercase已被删除。

     

自1.5.0以来,这些功能已被弃用。它们是内部使用的,但不应公开,因为它们包含特殊的语言环境处理(土耳其语),以维持内部一致性,无论用户设置的语言环境如何。

     

对于特殊情况,开发人员通常应使用内置插件toLowerCasetoUpperCasetoLocaleLowerCasetoLocaleUpperCase

     

此外,我们通常不鼓励在应用程序代码中使用angular.x助手。