AngularJS 1.2.0刚刚发布,CounchDB
和MongoDB
用户即时出现问题:
尝试访问前面带有下划线的某些JSON数据时,如{{data._id}}
Angular 1.2.0会出现以下错误:
Error: [$parse:isecprv]
有关于此here on the docs的讨论。
有没有办法禁用这个'功能',还是克服它?
答案 0 :(得分:4)
要在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.2.1被释放。
2013年11月13日 Vojta关于此“功能”the following说:
伙计们,抱歉这个改变造成的麻烦。这个“功能”是 主要是针对使用Closure编译器和Google JS风格的人,但我 没有意识到很多人都依赖于访问_ * 模板中的属性。目前我们正在恢复这一变化 (4ab16aa)。
我们将在下一个版本中发布1.2.1(将包含此“修复”) 天。强> 的
这个问题的主要结果是:我们不应该破坏 转变为RC。经验教训。
更新 - 2013年11月15日: AngularJS 1.2.1 underscore-empathy reverts hiding "private" properties。
我们介绍了“私人”属性(对于以。开头的属性) 在1.2中认为这是公平的 没有争议的变化。哎呀!道歉(谢谢)给大家们 谁提出了错误警告我们你的代码中的更大后果 做出这种突破性变化。我们已经恢复了这个功能。