görüş mesafesi:
Açısallarınız önyükleme yaparken, kullanıcı html'de yerleştirdiğiniz parantezleri görebilir. Bu ile halledilebilir ng-cloak
. Ama benim için bu bir çözüm, eğer kullanmam gerekirse kullanmam gerekmiyor ng-bind
.
Verim:
{{}}
Olduğunu çok daha yavaş .
Bu ng-bind
bir direktiftir ve geçirilen değişkenin üzerine bir gözlemci yerleştirir. Bu yüzden, ng-bind
sadece geçilen değer gerçekten değiştiğinde uygulanır .
Öte yandan parantez edilecek kirli kontrol ve yenilenir her $digest
o olsa bile gerekli değildir .
Şu anda büyük bir tek sayfa uygulaması (görünüm başına ~ 500 ciltleme) oluşturuyorum. {{}} 'Dan katıya geçmek ng-bind
, her birinde yaklaşık% 20 tasarruf sağladı scope.$digest
.
Öneri :
Açısal çeviri gibi bir çeviri modülü kullanıyorsanız , köşeli parantez açıklamasından önce her zaman yönergeleri tercih edin .
{{'WELCOME'|translate}}
=> <span ng-translate="WELCOME"></span>
Bir filtre işlevine ihtiyacınız varsa, aslında sadece özel filtrenizi kullanan bir yönerge tercih edin. $ Filter service belgeleri
GÜNCELLEME 28.11.2014 (ancak konu dışında olabilir):
Açısal 1.3x'te bindonce
işlevsellik tanıtıldı. Bu nedenle, bir ifadenin / özniteliğin değerini bir kez bağlayabilirsiniz (! = 'Tanımsız' olduğunda bağlanır).
Bu, bağlantınızın değişmesini beklemediğinizde yararlıdır.
Kullanım: ::
bağlama önce yerleştirin:
<ul>
<li ng-repeat="item in ::items">{{item}}</li>
</ul>
<a-directive name="::item">
<span data-ng-bind="::value"></span>
Misal:
ng-repeat
tablodaki bazı verileri, her satırda birden çok bağlama olacak şekilde çıktılamak için. Çeviri ciltleri, filtre çıktıları, her kapsamda sindirilir.
ngBind
yerine kullanılması tercih edilir{{ expression }}
.ngBind
Bir öğe niteliği olduğundan, sayfa yüklenirken bağlamaları kullanıcıya görünmez yapar." - ancak performansla ilgili hiçbir şey belirtilmiyor.