Насколько я понимаю, вы хотите, чтобы свойство set scope указывало индекс активной вкладки. В этом случае, если вкладка #tab1
выбрана, то $scope.$index
должен быть 1
и т.д.
Поскольку чтение атрибута класса означает manupilations с DOM лучшим местом для этой функции является пользовательской директивой. Довольно удобно, что директивы могут быть привязаны к именам классов (restrict: 'C'
). Тогда наивная реализация могла бы быть:
app.directive('active', function() {
return {
restrict: 'C',
link: function(scope, element) {
scope.tabIndex = element[0].id.replace('tab', '');
}
};
});
Обратите внимание, что я установил tabIndex
собственность, чтобы не путать его с ngRepeat
$index
переменной.
Вот небольшая демонстрация этого подхода: http://plnkr.co/edit/y6Mj4kFCq2fS5VdCjSsb?p=preview
Что такое '$ index' здесь? – dfsq
@dfsq $ index - это просто значение, которое я хочу установить, если div содержит класс 'active' – Jack
Не знаю, зачем вам это нужно, но вы можете добиться его, написав специальную директиву. – dfsq