Javascript 如何在ngFor中添加/删除Angular2中的类?
当我单击Javascript 如何在ngFor中添加/删除Angular2中的类?,javascript,angular,Javascript,Angular,当我单击ngForspan时,设法在ngForspan上添加class,但是如果我单击另一个span,我会尝试删除当前类 假设这些跨度来自ngFor,当我单击S时,它将添加一个类活动跨度,如果我单击M,它将添加一个类活动跨度,但将该类从S中删除 <span class="jersey-size" [ngClass]="{'active-span': size.active}" (click)="getSizeData(size)">{{ size.size }}</span&
ngFor
span时,设法在ngFor
span上添加class
,但是如果我单击另一个span,我会尝试删除当前类
假设这些跨度来自ngFor
,当我单击S时,它将添加一个类活动跨度
,如果我单击M,它将添加一个类活动跨度
,但将该类从S中删除
<span class="jersey-size" [ngClass]="{'active-span': size.active}" (click)="getSizeData(size)">{{ size.size }}</span>
或者使用ngClass
,但这只是切换类
select(size){
size.active = !size.active;
}
<span class="jersey-size" [ngClass]="{'active-span': size.active}" (click)="getSizeData(size)">{{ size.size }}</span>
选择(大小){
size.active=!size.active;
}
{{size.size}}
我的问题是,当我选择/单击一个新的span时,如何从以前选择的span中删除该类?我认为您应该存储大小选择(或索引)(您需要将其存储在db no中?),然后像这样使用它:
[ngClass]="{'active-span': size.size === selectedSize}"
您的控制器可以是这样的(或者如果您已经有一个对象来存储它,则使用适当的对象):
您有多少种类型(名称)?2?应该不重要,因为它是使用
ngFor
动态渲染的,所以它可以是2或5。但在我的计算中,将有4种尺寸(S、M、L、XL)。您如何以这种方式存储您的选择?是的,现在排序:)我之前也做过类似的操作,但我在中添加了falsey!大小。大小
。
[ngClass]="{'active-span': size.size === selectedSize}"
selectedSize: string;
select(size){
this.selectedSize = size.size;
}