web-dev-qa-db-ja.com

Angular式の遅延ワンタイムバインディング

AngularJSには、バージョン1.3.0-beta.10以降の新しい機能があります: "lazy one-time binding"

単純な式の前に::を付けると、式が最初に評価された後に監視を停止するようにangularと伝えます。一般的な例は次のようになります。

<div>{{::user.name}}</div>

次のような式に類似した構文はありますか?

<div ng-if="user.isSomething && user.isSomethingElse"></div>
<div ng-class="{classNameFoo: user.isSomething}"></div>
93
seldary

はい。 ngIfまたはngClassの式も含め、すべての式の前に::を付けることができます。

<div ng-if="::(user.isSomething && user.isSomethingElse)"></div>
<div ng-class="::{classNameFoo: user.isSomething}"></div>

実際、 コード は、式の最初の2文字が:であることを確認して、ワンタイムバインディングをアクティブにします(そして、それらを削除します。したがって、括弧は不要です) )。他のすべては同じままです。

160
Blackhole