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>
답변
예. 당신이 가진 모든 표현 앞에 있습니다 ::
, 심지어 사람 ngIf
또는 ngClass
:
<div ng-if="::(user.isSomething && user.isSomethingElse)"></div>
<div ng-class="::{classNameFoo: user.isSomething}"></div>
실제로 코드 는 :
일회성 바인딩을 활성화하기 위해 표현식의 첫 번째 문자 두 개가 있는지 확인한 다음 제거하므로 괄호가 필요하지 않습니다. 다른 모든 것은 동일하게 유지됩니다.