Vug*_*dov 12 ng-class ngfor angular
嗨,我有无序列表,所有这些都有活跃的类.我想在点击任何列表项时切换活动类.我的代码是这样的
<ul class="sub_modules">
<li *ngFor="let subModule of subModules" class="active">
<a>{{ subModule.name }}</a>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我这样做吗?
小智 22
只需创建一个索引属性.用于let i = index使用(单击)事件设置索引.然后检查是否selectedIndex === i将set class"active"设置为true
<ul class="sub_modules">
<li *ngFor="let subModule of subModules; let i = index"
[class.active]="selectedIndex === i"
(click)="setIndex(i)">
<a>{{ subModule.name }}</a>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
然后在typescript文件上:只需设置selectedIndex.
export class ClassName {
selectedIndex: number = null;
setIndex(index: number) {
selectedIndex = index;
}
}
Run Code Online (Sandbox Code Playgroud)
Edu*_*gas 18
你可以这样做:
<ul class="sub_modules">
<li (click)="activateClass(subModule)"
*ngFor="let subModule of subModules"
[ngClass]="{'active': subModule.active}">
<a>{{ subModule.name }}</a>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
在组件上
activateClass(subModule){
subModule.active = !subModule.active;
}
Run Code Online (Sandbox Code Playgroud)
在Ng类中,第一个属性是您要添加的类,第二个属性是条件;
| 归档时间: |
|
| 查看次数: |
26869 次 |
| 最近记录: |