Я хочу иметь доступ к свойству из области ng-repeat
в другой директиве того же элемента, где находится директива ng-repeat
. Например, я хотел бы иметь доступ к свойству child.class
в следующем примере:
<div ng-class="{{ child.class }}" ng-repeat="child in parent.children">
{{ child.name }}
</div>
Вот JSFiddle, показывающий, что это не работает.
Если это невозможно, то каков следующий лучший способ установки class
в элементе с ng-repeat
? Есть ли способ ng-repeat
в контроллере?
ng-class
принимает выражение и оценивает его. Если вы измените его на:
ng-class="child.class"
то это работает! Вот рабочий JSFiddle.
Кроме того, вы можете добавить что-то вроде этого:
ng-class="{'blue': true, 'red': false}"
true
или false
могут быть другими переменными или функциями, но только добавляет классы со значением true
!