Angularjs - 如果div具有类,则设置值

时间:2015-02-03 09:06:26

标签: angularjs

我想设置一个索引值,如果div有类'活动'

<div class="tab-pane active" id="tab1">
<div class="tab-pane" id="tab2">

这样的事情:

<div class="tab-pane active" id="tab1" ng-class="(this).hasClass('active')?$index = 1: ''">

不确定如何处理此问题。

1 个答案:

答案 0 :(得分:2)

据我所知,您希望set scope属性指示活动选项卡的索引。在这种情况下,如果选择了标签#tab1,则$scope.$index应为1等。

由于读取类属性意味着使用DOM进行manupilations,因此该功能的最佳位置是自定义指令。指令可以绑定到类名(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