Według Angular Doc:
Ponieważ ngBind jest atrybutem elementu, sprawia, że powiązania są niewidoczne dla użytkownika podczas ładowania strony ... to główna różnica ...
Zasadniczo dopóki wszystkie elementy dom nie zostaną załadowane, nie możemy ich zobaczyć, a ponieważ ngBind jest atrybutem elementu, czeka, aż domeny wejdą do gry ... więcej informacji poniżej
ngBind
- dyrektywa w module ng
The atrybut ngBind mówi angularjs zastąpić zawartość tekstową określonego elementu HTML z wartością danego wyrazu, a także aktualizować zawartość tekstową, gdy wartość, że zmiany ekspresji.
Zazwyczaj nie używasz ngBind bezpośrednio , ale zamiast tego używasz podwójnego, kręconego znacznika, takiego jak {{wyrażenie}}, który jest podobny, ale mniej szczegółowy.
Preferowane jest użycie ngBind zamiast {{wyrażenie}}, jeśli przeglądarka chwilowo wyświetla szablon w stanie surowym, zanim AngularJS go skompiluje. Ponieważ ngBind jest atrybutem elementu, sprawia, że powiązania są niewidoczne dla użytkownika podczas ładowania strony.
Alternatywnym rozwiązaniem tego problemu byłoby pomocą ngCloak dyrektywy. odwiedź tutaj
Aby uzyskać więcej informacji na temat ngbind odwiedź tę stronę: https://docs.angularjs.org/api/ng/directive/ngBind
Możesz zrobić coś takiego jako atrybut, ng-bind :
<div ng-bind="my.name"></div>
lub wykonaj interpolację jak poniżej:
<div>{{my.name}}</div>
lub w ten sposób z atrybutami ng-cloak w AngularJs:
<div id="my-name" ng-cloak>{{my.name}}</div>
ng-cloak unikaj flashowania na domku i poczekaj, aż wszystko będzie gotowe! jest to równe atrybutowi ng-bind ...
ngBind
zamiast,{{ expression }}
jeśli przeglądarka chwilowo wyświetli szablon w stanie surowym, zanim Angular go skompiluje. PonieważngBind
jest to atrybut elementu, sprawia, że powiązania są niewidoczne dla użytkownika podczas ładowania strony”. - ale nic nie wspomniano o wydajności.