시계:
angularjs가 부트 스트랩되는 동안 사용자는 html에서 괄호를 볼 수 있습니다. 로 처리 할 수 있습니다 ng-cloak
. 그러나 나에게 이것은 사용하는 경우 사용할 필요가없는 해결 방법 ng-bind
입니다.
공연:
은 {{}}
이다 훨씬 느리다 .
이것은 ng-bind
A는 지시 와 전달 된 변수에 감시자를 배치합니다. 따라서 전달 된 값이 실제로 변경ng-bind
될 때만 적용됩니다 .
반면에 괄호가 될 것이다 더러운 검사 와 갱신 모든 $digest
그것의 경우에도 필요는 없습니다 .
현재 큰 단일 페이지 응용 프로그램을 작성 중입니다 (보기 당 ~ 500 바인딩). {{}}을 (를) 엄격으로 변경하면 ng-bind
마다 약 20 %가 절약되었습니다 scope.$digest
.
제안 :
angular-translate 와 같은 변환 모듈을 사용하는 경우 항상 괄호 주석보다 지시문 을 선호하십시오 .
{{'WELCOME'|translate}}
=> <span ng-translate="WELCOME"></span>
필터 기능이 필요한 경우 실제로는 사용자 정의 필터 만 사용하는 지시문을 사용하는 것이 좋습니다. $ filter 서비스 설명서
업데이트 28.11.2014 (아마 주제에서 벗어남 ) :
Angular 1.3x에는 bindonce
기능이 도입되었습니다. 따라서 표현식 / 속성 값을 한 번 바인딩 할 수 있습니다 (! = 'undefined'인 경우 바인딩 됨).
바인딩이 변경되지 않을 때 유용합니다.
사용법 : ::
바인딩하기 전에 배치하십시오.
<ul>
<li ng-repeat="item in ::items">{{item}}</li>
</ul>
<a-directive name="::item">
<span data-ng-bind="::value"></span>
예:
ng-repeat
행 당 여러 바인딩으로 테이블의 일부 데이터를 출력합니다. 모든 범위 다이제스트에서 실행되는 변환 바인딩, 필터 출력.
ngBind
대신 사용 하는 것이 좋습니다{{ expression }}
.ngBind
요소 속성 이므로 페이지를로드하는 동안 바인딩이 사용자에게 보이지 않습니다." -그러나 성능에 대해서는 언급되지 않았습니다.