我正在使用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");
}
}