angularjs – {{‘any’}}有观察者吗? {{::’any’}}是否有性能提升?

我将改善我的角应用程序的性能.所以我决定更频繁地使用{{:: variable}}(> angular 1.3).对于翻译,我使用了写作{{‘key.header’| translate}}.

如果我使用{{:’key.header’| translate}}或者有角度知道这些字符串不会改变,是否可以提高性能?

谢谢

最佳答案 使用{{:: variable}}表示字符串不会改变的唯一方法.是的,这是一个性能改进,因为你告诉角度来评估该表达式一次然后忽略它(避免双向绑定)并且再也不会看它.所以,

较少的观察者=更好的表现

注意:

只有当表达式不会随时间变化时,您才可以使用::设置角度表达式.在您的情况下(关于您的评论),如果您想使用该表达式来获取字符串的翻译版本,那么您不应该使用它,因为用户可能随时更改语言并且需要更改.

结论

你应该使用:: over角度表达式,这些表达式不会随时间变化. ::是一种声明常量并减少观察者,获得更好性能的方法.

点赞