web-dev-qa-db-ja.com

angular式{{::}}内の2つのコロンはどういう意味ですか?

違いは何ですか:

{{::office.name}}

そして

{{office.name}}

angularJSで?

85
J0B

{{::office.name}}構文は、Angularのワンタイムバインディングで、バージョン1.3以降で使用可能です
Here's それを説明する素敵なブログ。

79
Teo.sk

ワンタイムバインディング Angularドキュメントから。

::で始まる式は、1回限りの式と見なされます。 1回限りの式は、安定すると再計算を停止します。これは、式の結果が未定義の値である場合、最初のダイジェスト後に発生します(以下の値安定化アルゴリズムを参照)。

多くの場合、値はビューに表示するだけでよく、ビューやコントローラーから更新されることはありません。ただし、双方向バインディングが使用される場合、$digestは各サイクルで式の変更をチェックしますが、これは必要ありません。これらの場合、::は式の前に使用する必要があります。上記のステートメントで述べたように、これはそのような場合の双方向バインディング構文よりも効率的です。


ブログ: AngularJSワンタイムバインディング構文 from @ Todd Motto

ナットシェルでは、{{ ::foo }}などの値をDOM内で宣言すると、この値が定義されると、Angularがレンダリングされ、ウォッチャーからバインド解除され、バインドの量が削減されます。 $digestループ内。シンプル!

93
Tushar