对仅会更改一次的属性的角度绑定

时间:2016-10-02 11:36:30

标签: angularjs

当绑定变量经常更改时,双向绑定很酷,但有些情况下变量在获得分配后不会更改,或者只会更改一次。

有没有办法告诉角度,在分配后或仅更改一次后,不再需要绑定来进行更改?

(对于角1.x)

3 个答案:

答案 0 :(得分:2)

是的,他们介绍了(认为是在1.4中){{::}}绑定,例如:

<p>{{::ctrl.text}}</p>

只会绑定一次。
更多详细信息可在documentation for bindings下的&#34;一次性绑定&#34;

中找到

答案 1 :(得分:2)

如果您使用的是AngularJS 1.3及以上版本

您可以使用名为one-time绑定的功能

语法:

{{:: myVar的}}

来自文档

An expression that starts with :: is considered a one-time expression. One-time expressions will stop recalculating once they are stable, which happens after the first digest if the expression result is a non-undefined value 

您可以进一步阅读here

如果您使用1.2及更早版本 您可以使用BindOnce

答案 2 :(得分:1)

虽然您正在寻找一次性绑定,但我怀疑您的问题背后的真正原因是性能:

ng-bind实际上仍然比一次性绑定更快。

Source