{{'any'}}有观察者吗? {{::'any'}}是否有性能提升?

时间:2016-08-11 06:30:19

标签: angularjs

我将改善我的角应用程序的性能。所以我决定更频繁地使用{{:: variable}}(> angular 1.3)。对于翻译,我使用了写作{{'key.header'| translate}}。 如果我使用{{:'key.header'| translate}}或者有角度知道这些字符串不会改变吗?

谢谢

1 个答案:

答案 0 :(得分:2)

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

less watchers = better performance

注:

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

<强>结论

您应该使用::而不是随时间变化的角度表达式。 ::是一种声明常量并减少观察者数量的方法,可以获得更好的效果。