3 回答

TA貢獻1828條經驗 獲得超4個贊
您也可以在 中添加另一個條件[ngClass],例如'unlocked': lectureIndex > j如果您希望將該類應用于所有先前的項目。
看看這是否有幫助:
<ul>
<li class="locked" *ngFor="let subLecture of lectureList; let j = index"
[ngClass]="{ 'current': lectureIndex == j, 'unlocked': lectureIndex > j}"
(click)="lectureItemClick(j)">
<a>{{subLecture}}</a>
</li>
</ul>
同樣,您可以更改邏輯以適合您的場景。
Stackblitz:https ://stackblitz.com/edit/angular-ivy-62422113

TA貢獻1799條經驗 獲得超9個贊
雖然document在使用服務器端渲染的情況下不建議使用關鍵字,但您也可以使用其他解決方法,您也可以按照以下方式進行操作。
<li class="locked" *ngFor="let subLecture of lectureList; let j = index" [id]="j">
....
</li>
nextLectureSecond() {
....
let ele = document.getElementById(this.lectureIndex.toString());
(<HTMLParagraphElement>ele).classList.add("unlocked");
const a = this.lectureIndex++;
....
}
添加回答
舉報