模板中的一次性绑定不适用于开头的空格

时间:2016-10-24 12:08:36

标签: javascript angularjs

我对模板中的一次性绑定有一个非常奇怪的问题。 在定义中,如果我想使用它,我需要用::。

开始一个表达式
{{ ::expression }}

通常它应该有效,但对我来说停止了工作。如果我在::之前删除空格并执行以下操作:

{{:: expression }}

有效。不知道为什么。为了检查创建了多少观察者,我使用AngularJS Batarang for Chrome和自己的JS脚本来计算观察者。两者的作用相同。 我认为这两种工具都能正常工作,因为我看到当观察者数量很大时,应用程序的运行速度非常慢。

有没有人有类似的东西?谢谢!

1 个答案:

答案 0 :(得分:0)

我刚做了一个繁重的调试会议,事实证明它实际上是Batarang打破了一次性绑定。

Batarang使用Angular Hint挂钩角度生命周期,以了解正在发生的事情。 那里有一个关于一次性绑定的公开问题: https://github.com/angular/angular-hint/issues/109

这个问题已经很老了(虽然仍然是开放的)......看起来他们added in code试图解决问题,但它不够健壮。 这就是为什么当您执行{{::而不是{{ ::

时它才有效

好消息您不必担心自己的应用,这些一次性绑定正在制作中(除非您的用户也启用了Batarang)。

坏消息你现在不能依靠Batarang对观察者说实话,并警惕它可能导致其他错误/问题,因为它已经取代角度代码。

顺便说一下,codepen运行正常,因为它在iframe中运行,所以batarang无法访问并打破它。