значение :: в угловой форме

я пытаюсь научиться надежно работать с angular, и у меня возникают проблемы с пониманием некоторых синтаксиса, используемых в руководствах и примерах на официальный сайт. при определении элемента управления формой кнопки я увидел этот шаблон:

<div><button type="{{::to.type}}" class="btn btn-{{::to.btnType}}" ng-click="onClick($event)">{{to.text}}</button></div>

мой вопрос: что означает "::" перед "to.type" и "to.btnType"? как он используется? чем это отличается от такого определения:

<a ng-class="{'btn-primary': to.isPrimary, active: to.isActive}" class="btn, btn-default"/>

person Dror Cohen    schedule 30.09.2015    source источник


Ответы (2)


Это выражение одноразовой привязки, оно останавливает распространение наблюдателей что часто может вызывать проблемы с производительностью.

Вот полезная информация: http://blog.thoughtram.io/angularjs/2014/10/14/exploring-angular-1.3-one-time-bindings.html

person Jamiec    schedule 30.09.2015

Это выражение одноразовой привязки.

В вашем случае, когда to.type будет иметь установленное значение, оно будет обновлено в шаблоне HTML. Затем, если значение to.type снова изменится, шаблон HTML не будет обновлен новым значением.

Дополнительную информацию можно найти на веб-сайте AngularJS по адресу https://docs.angularjs.org/guide/expression#one-time-binding.

person jeerbl    schedule 30.09.2015