Sergamers
@Sergamers
front-end

Как через ng-repeat обратиться к родительскому scope?

Есть шаблон
<div class="hockey-DateBlock" ng-repeat="key in ['13 мая', '14 мая', '15 мая', '16 мая', '17 мая', '18 мая', '19 мая', '20 мая']" ng-class="{'active' : $index == ActiveId}">
      {{key}}
    </div>


scope.activeId = function () {
        return currentIndex + 1;
      }


Не могу достучаться до activeId из-за ng-repat.
  • Вопрос задан
  • 174 просмотра
Решения вопроса 1
Sergamers
@Sergamers Автор вопроса
front-end
Решил проблему с помощью передачи двусторонней связи из директивы в компоненту, а потом сравнения с переменной компоненты в ng-repeat

<div class="hockey-Date"
    hockey-date-scroll
    hds-item-width="50"
    hds-active-id="$ctrl.activeId"
    hds-items-length="8">
    <div class="hockey-DateBlock" ng-repeat="date in $ctrl.dates" ng-class="{'active' : $index == $ctrl.activeId}">
      {{date}}
    </div>
  </div>


scope: {
      activeId: '=hdsActiveId'
    },
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Используйте синтаксис controller as
jsbin.com/rokejinite/edit?html,css,js,output
Ответ написан
Комментировать
@lega
ActiveId - это функция, её надо вызывать:
ng-class="{'active' : $index == ActiveId()}"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы