为angular 2指定活动类onclick in
嗨,我有一个无序的列表,他们都有活动类。我想在单击任何列表项时切换活动类。我的代码是这样的为angular 2指定活动类onclick in,angular,ng-class,ngfor,Angular,Ng Class,Ngfor,嗨,我有一个无序的列表,他们都有活动类。我想在单击任何列表项时切换活动类。我的代码是这样的 <ul class="sub_modules"> <li *ngFor="let subModule of subModules" class="active"> <a>{{ subModule.name }}</a> </li> </ul> {{subModule.name} 有人能帮我吗?我相信你可以在
<ul class="sub_modules">
<li *ngFor="let subModule of subModules" class="active">
<a>{{ subModule.name }}</a>
</li>
</ul>
-
{{subModule.name}
有人能帮我吗?我相信你可以在这里找到答案:
您可以通过Angular的
$index
将CSS定位并应用于项目/对象。这篇文章比我能更好地解释和演示逻辑。你可以做如下事情:
-
{{subModule.name}
关于组件
activateClass(子模块){
subModule.active=!subModule.active;
}
在Ng类上,第一个属性是要添加的类,第二个是条件 只需创建一个索引属性。使用
let i=index
使用(单击)事件设置索引。然后检查是否选择了索引===i如果选择了,则将类“active”设置为true
-
{{subModule.name}
然后在typescript文件上:只需设置selectedIndex
export class ClassName {
selectedIndex: number = null;
setIndex(index: number) {
selectedIndex = index;
}
}
对不起,你的回答不是我想要的。谢谢你@Eduardo。。这是我想要的,但所有列表项都应该已经有活动类。。那我怎么做呢?你可以做一个数组的映射。map(obj=>{obj.active=false;return obj;})非常感谢您。我用obj做的。active=true。。。这就是我想要的)它工作完美)你的HTML块中有一个错误<代码>[class.active]='sIndex===i而不是
[class.active]='selectedIndex===i
。否则,很好的答案:-)这不是Toggling在寻找一个简单的解决方案,并发现了这个。。。谢谢在恢复到组件逻辑之前,我总是喜欢使用Angular的速记模板方法。