im在有角度的6上工作。im单击功能后,需要从脚本中更改div标签的颜色,我需要将其更改回透明
当我单击继承时,这是我的视图。第一行获取背景色更改
单击继承后,当我单击“方法”时,替代第二行会突出显示 但是我需要从第一行中删除背景色
侧栏的HTML代码
<div *ngFor="let classes of classesObject ">
<input id='{{classes}}' name='radio' type='radio'>
<label (click)="clickClass(classes)" for='{{classes}}'>
{{classes}}
<div class='lil_arrow'></div>
<div class='bar'></div>
<div class='swanky_wrapper__content'>
<ul *ngFor="let conceptName of concepts">
<li (click)="getConcepts(conceptName['conceptName'],[classes])">{{conceptName["conceptName"]}}</li>
</ul>
</div>
</label>
</div>
用于行显示的HTML代码
<div *ngFor="let lines of lineList; let i= index">
<div id="line_{{i}}" class="code" > {{lines}}</div>
</div>
getConcept
方法的打字稿代码
for (var no in this.relatedLineNo) {
var lines = this.relatedLineNo[no] - 1;
document.getElementById(`line_` + lines).style.backgroundColor = "black";
document.getElementById(`line_` + lines).style.color = "white";
document.getElementById(`line_` + lines).style.cursor = "pointer";
document.getElementById(`line_` + lines).setAttribute("tooltip", this.messageTip);
}
答案 0 :(得分:1)
代替在以下操作中手动查找for循环中的行:
document.getElementById(
尝试更多的Angular-ish方法:
[ngClass]="{ hilite: i === relatedLineNo }"
发生的事情是,在* ngFor循环内,Angular将使用relatedLineNo
评估当前行索引“ i”,并将“自动”突出显示该行。
工作stackblitz。