2016-11-16 4 views
0

Heute schaute ich auf einen Winkelcode und war überrascht, diesen Operator zu sehen. Nicht sicher, was dieser Operator tut? Könnte jemand mehr Informationen über den speziellen Operator geben ::? Ich habe diesen Operator noch nie zuvor in AngularJS-Dokumenten gesehen.Winkeloperator :: - was macht es?

Projekt-id = "{{:: vm.projectId}}"

+0

das ist die einmalige Bindung - http://blog.thoughtram.io/angularjs/2014/10/14/exploring-angular-1.3-one-time-bindings.html – MaKCbIMKo

Antwort

0

diese Syntax verwendet, wird auf Ressourcen zu sparen, indem nicht einen Beobachter für das Variable Laichen.

Wenn Sie eine Variable in eine Vorlage mit der doppel-gelockten Syntax ({{...}}) setzen, wird Angular im Allgemeinen eine watcher für diese Variable spawnen. Dies bedeutet, dass, wenn Änderungen an dieser Variable in Ihrem Angular-Code vorgenommen werden, das Frontend diese Änderung widerspiegelt.

Manchmal ist diese übereifrige Wattersyntax jedoch nicht das, was Sie wollen. Sie können beispielsweise eine Variable haben, von der Sie wissen, dass sie sich nicht ändert, oder eine Variable, die sich ändert, aber Sie möchten nicht, dass sich diese Änderung sofort widerspiegelt. Dies ist der Grund, warum Sie manchmal die {{::my-var}} Syntax sehen, da sie keinen Watcher erzeugt.