차이점은 무엇입니까?
{{::office.name}}
과
{{office.name}}
angularJS에서?
답변:
로 시작하는 식은
::
일회성 식으로 간주됩니다. 일회성 표현식은 안정되면 재 계산을 중지합니다. 이는 표현식 결과가 정의되지 않은 값인 경우 첫 번째 다이제스트 이후에 발생합니다 (아래 값 안정화 알고리즘 참조).
많은 상황에서 값은보기에만 표시되어야하며보기 또는 컨트롤러에서 업데이트되지 않습니다. 그러나 양방향 바인딩을 사용하는 경우 $digest
는 각주기에서 필요하지 않은 식의 변경 사항을 확인합니다. 이 경우 ::
표현 전에 사용해야합니다. 위의 설명에서 언급했듯이 이는 이러한 경우 양방향 바인딩 구문보다 더 효율적입니다.
블로그 : AngularJS와 한 번 바인딩 구문 에서 @Todd 모토
간단히
{{ ::foo }}
말해서, DOM 내부 와 같은 값을 선언 할 때이 값이 정의되면 Angular는이를 렌더링하고 감시자로부터 바인딩을 해제하여$digest
루프 내부의 바인딩 볼륨을 줄 입니다. 단순한!