Связывания, вложенные в ленивую одноразовую привязку ng-repeat, связываются только один раз?
Я понимаю, что в следующем коде обе привязки будут привязываться лениво только один раз:
<li ng-repeat="item in ::items">{{::item.name}}</li>
Однако в следующем случае будет {{item.name}}
обновляться каждый дайджест?
<li ng-repeat="item in ::items">{{item.name}}</li>
А как действует одноразовый переплет ng-repeat
с?
<li ng-repeat="item in ::items">
<span ng-repeat="thing in item.things">{{thing.name}}</span>
</li>
1 ответ
Сценарий 1:
<li ng-repeat="item in ::items">{{::item.name}}</li>
Оба выражения будут одноразовыми. Добавление элемента или изменение имени существующего элемента не будет отражено.
Демонстрация: http://plnkr.co/edit/53r8FCmcNK4MmM6Uzxp2?p=preview
Сценарий 2:
<li ng-repeat="item in ::items">{{item.name}}</li>
Первое выражение будет одноразовым. Добавление элемента не будет отражено. Изменение имени существующего элемента будет отражено.
Демонстрация: http://plnkr.co/edit/52wTEb8ze2FKRDDcS9Ow?p=preview
Сценарий 3:
<li ng-repeat="item in ::items">
<span ng-repeat="thing in item.things">{{thing.name}}</span>
</li>
Первое выражение будет одноразовым. Добавление нового элемента не будет отражено. Добавление новой вещи и изменение названия существующей вещи будет отражено.
Демонстрация: http://plnkr.co/edit/HkObhkJtUnFEHBAzFUmN?p=preview