1

好的,所以我在几个地方读到使用 ng-bind 对性能更好。但是看着这些 jsperfs 让我有点困惑 :)

https://jsperf.com/angular-bind-vs-brackets

http://jsperf.com/ng-bind-vs-brackets/14

那么,在性能方面,最好的方法是什么?

{{::value}}

或者

<div ng-bind="value"></div>
4

3 回答 3

4

你应该使用ng-bind. 它是一个指令,在该变量上放置一个观察者,因此它仅在变量更改时更新,而{{}}在每个摘要周期中都会进行脏检查并刷新变量。

看到这个答案

::称为“bindence”,只会设置一次变量,之后不会更新。

e:jsperf 测试从变量到 html 的绑定(我认为),而链接的答案侧重于之后的行为。如果您有 100 个花括号并更新一个模型,则每个模型{{}}都会更新。虽然ng-bind仅在变量本身更改时才更新,因为它为该变量创建了一个观察者。

于 2015-09-09T09:50:11.883 回答
1

当涉及一次性绑定时,您还应该在 ng-bind 中使用冒号。

所以使用ng-bind="::value"

对于过滤器或表达式,您必须使用括号:ng-bind="::(value | number:2)"

于 2016-10-24T15:56:55.003 回答
-1

使用ng-bind更好。如果没有加载 javascript 文件,{{}} 将显示在页面上。

于 2015-09-09T08:51:25.800 回答