多类添加到动态物体时,它具有(4)
问题描述:
我有一些麻烦来定义特定的类做的动感元素,看看这个JSON已经是ngClass条件角度:多类添加到动态物体时,它具有(4)
filterData = {
"highlights": {
"title": "Destaques",
"options": [{
"id": 1,
"title": "Outlet",
"alias": "outlet",
"counter": 3,
"classes": ["outlet", "feb", "jun"]
}, {
"id": 2,
"title": "Novidades",
"alias": "news",
"counter": 0,
"classes": ["news", "may"]
}, {
"id": 3,
"title": "Promoção",
"alias": "promo",
"counter": 1,
"classes": ["promo"]
}]
}
}
每个按钮有其选择类,如果它是由用户选择,或者不考虑:
<div
*ngIf="filterEnabled"
class="filters_btns"
>
<button
*ngFor="let item of filtersList.options"
type="button"
class="btn"
(click)="toggleFilterOption(item)"
[ngClass]="{ 'selected': filterData[item.id]" <-- also add all of the classes of this array (item.classes) if some exists
>{{ item.title }}</button>
</div>
有没有办法做到这一点?添加的类的阵列(如果它们存在的话),并且还根据筛选数据[item.id] (布尔值)
答
可以使用类为该绑定添加“选择”类:
[class.selected]="filterData[item.id]"
和ngClass为你列出:
[ngClass]="item[classes]"
感谢梅厄,它完美的作品!只是一个小小的更正,**类**是项目的一个属性,所以它将如下所示:** item.classes **或** item ['classes'] ** –
您是对的。我专注于语法,而不是具体细节 – Meir