好的,我已经在几个地方读到使用ng-bind对性能更好。但是看到这些jsperfs会让我有点困惑:)
https://jsperf.com/angular-bind-vs-brackets
http://jsperf.com/ng-bind-vs-brackets/14
那么,当涉及到性能时,最好的方法是什么?
{{::value}}或
<div ng-bind="value"></div>发布于 2015-09-09 17:50:12
您应该使用ng-bind。它是一个将观察器放在变量上的指令,因此它只在变量发生变化时更新,而{{}}将在每个摘要周期中对变量进行脏检查和刷新。
请参阅this answer
此外,::也被称为“绑定一次”,它只会设置变量一次,之后不会更新。
e: jsperf测试从变量到html的绑定(我想),而链接的答案则集中在之后的行为上。如果你有100个大括号,并且你更新了一个模型,那么每个{{}}都会更新。而ng-bind只有在变量本身发生变化时才会更新,因为它会为该变量创建一个监视器。
发布于 2016-10-24 23:56:55
当涉及到一次性绑定时,您也应该在ng-bind中使用冒号。
所以使用ng-bind="::value"
对于过滤器或表达式,您必须使用方括号:ng-bind="::(value | number:2)"
发布于 2015-09-09 16:51:26
使用ng-bind更好。如果未加载javascript文件,页面上将显示{{ }}。
https://stackoverflow.com/questions/32474608
复制相似问题