AngularJS 1.2.0 刚刚发布,对于用户来说有一个即时CounchDB
问题MongoDB
:
当尝试访问一些带有下划线的 JSON 数据时,例如{{data._id}}
Angular 1.2.0 会出现以下错误:
Error: [$parse:isecprv]
在 docs 上有关于此的讨论。
有没有办法禁用这个“功能”,或者克服它?
AngularJS 1.2.0 刚刚发布,对于用户来说有一个即时CounchDB
问题MongoDB
:
当尝试访问一些带有下划线的 JSON 数据时,例如{{data._id}}
Angular 1.2.0 会出现以下错误:
Error: [$parse:isecprv]
在 docs 上有关于此的讨论。
有没有办法禁用这个“功能”,或者克服它?
要在 1.2.0 中禁用此“功能”,请注释掉第 9097 到 9101 行。这 5 行负责Error: [$parse:isecprv]
:
if (name.charAt(0) === '_' || name.charAt(name.length-1) === '_') {
throw $parseMinErr('isecprv',
'Referencing private fields in Angular expressions is disallowed! Expression: {0}',
fullExpression);
}
看起来我们需要等到 1.2.1 发布。
2013 年 11 月 13 日 Vojta对这个“功能”发表了以下看法:
伙计们,对于这个变化造成的麻烦,我们深表歉意。这个“功能”主要是为使用 Closure 编译器和 Google JS 风格的人准备的,但我没有意识到很多人都依赖于访问模板中的 _* 属性。现在我们正在恢复该更改(4ab16aa)。
我们将在接下来的几天内发布 1.2.1(其中将包含此“修复”)。
这个问题的主要结果是:我们不应该对 RC 进行任何重大更改。学过的知识。
更新 - 2013 年 11 月 15 日: AngularJS 1.2.1 underscore-empathy 恢复隐藏“私有”属性。
我们在 1.2 中引入了“私有”属性(用于以下划线开头的属性),认为这将是一个没有争议的变化。哎呀!向提交错误提醒我们进行此重大更改的代码中的更大后果的人道歉(并感谢您)。我们已恢复此功能。