如何使ng-class对特定元素成真?

时间:2015-12-30 05:54:01

标签: javascript angularjs

我正在使用ng-repeat来重复基于我提取的一些数据的相同svg图形。我想添加一个" active"使用ng-class对SVG的特定路径进行分类。我给每个路径一个ng-class属性:

ng-class="{active: shouldRingFillsBeActive}"

在我的javascript中,我使用class" ring-fill"循环遍历所有路径。并将它们推入一个名为" ring。"现在我想只给出一些特定的路径" active"。如果我将$ scope.shouldRingFillsBeActive设为true,那么所有环都将具有活动类。例如:如果响铃[3]需要“活跃”等等。 class如何才能为这一个元素创建ng-class true?

现在我正在使用attr,但由于视图尚未加载,因此无法正常工作。所以现在我要使用$ scope。

这是我的javascript:

for(var i in data) {
        var dataObject = data[i];
        var team = dataObject.team;

        var ringToHighlight = Math.floor((dataObject.average_score/maxScore)*totalRings); //round down

        var i = 0;

        var rings = [];
        var ringClass = 'path[data="overall"].ring-fill.'+team+':not(.ring-border)';
        var ring = $(ringClass);
        console.log(ring);


        ring.each(function(){
            rings.push($(this)[0]);
        });

        rings.reverse();


        while( i < ringToHighlight) {
            fillPath(i);
            i = i + 1;
        }

    }



    function fillPath(i) {
        if(i < ringToHighlight) {
            $scope.shouldRingFillsBeActive = true;
            var selectedRing = $(rings[i]);
            selectedRing.attr("class", "ring-fill active");
        }
    }

0 个答案:

没有答案