Я использую одноразовую привязку и kcd-recompile, но имею проблему с вложенным ng-repeat
. Предположим, что код выглядит следующим образом:
<div ng-repeat="person in ::people">
<div ng-repeat="friend in ::person.friends" kcd-recompile="person.friends">
{{friend.name}}
</div>
</div>
Если я добавлю друга к одному из людей сейчас, я хочу, чтобы этот человек div был перекомпилирован без повторной компиляции других людей. Проблема в том, что person.friends
обновляется только в том случае, если person
обновляется.
Поэтому он работает, если я добавляю kcd-recompile
к первому ng-repeat
, но затем каждый человек div перекомпилируется (что я хочу предотвратить).
Есть ли возможность обновить person
без перекомпиляции всего первого ng-repeat
?
Нашел решение самостоятельно (в нерабочее время), если кому-то это нужно:
Используя people[$index].friends
вместо person.friends
, это работает!
<div ng-repeat="person in ::people"> <div ng-repeat="friend in people[$index].friends" kcd-recompile="person.friends"> {{friend.name}} </div> </div>
::person
но здесь простоpeople[$index].friends
, поэтому, возможно,<div ng-repeat="friend in person.friends"
также работаетperson.friends
это не сработало.