css - ngClass 一个条件和其他来自变量
问题描述
我有以下数据结构:
this.filters = [
{
key: 'filter1',
active: true,
class: 'filter1Class'
},
{
key: 'filter2',
active: false,
class: 'filter2Class'
},
{
key: 'filter3',
active: true,
class: 'filter3Class'
}
];
有了这个,我想在我的 html 中创建一些图标,每个图标都有自己的 css 类,并且可以根据模型中的活动标志启用或不启用它。
我的类非常简单,每一个filterNClass
都只是一种颜色,我应用它来设置它启用或不透明度值:
.disabled {
opacity: 0.2;
}
.filter1Class {
color: #1993a0;
}
.filter2Class {
color: #720053;
}
.filter3Class {
color: #000055;
}
这是我的html:
<div *ngFor="let filter of filters">
<mat-icon [ngClass]="filter.class"
[ngClass]="{disabled: !filter.active}">alarm_on
</mat-icon>
</div>
这样,第二个ngClass
不起作用,如果我删除第一个,它会起作用,但我无法同时管理两者。
如何做呢?
解决方案
我终于通过包含一个div来解决它:
<div *ngFor="let filter of filters">
<div [ngClass]="filter.class">
<mat-icon
[ngClass]="{disabled: !filter.active}">alarm_on
</mat-icon>
</div>
</div>
推荐阅读
- android - 如何禁用微调器中的项目?
- debugging - 调试器运行 1 或 2 秒然后消失……不工作
- apache-spark - 有没有办法动态扫描文件夹路径并列出所有文件?
- r - 合并R中的重复字符,同时保留数据框结构
- bash - 为什么 sed 命令会跳过 bash 中的某些行?
- python - 如何从 python pptx 生成的幻灯片中删除空白文本框?
- java - 使用 Java 的莱布尼茨公式
- java - 尝试运行我的 java 程序时出现错误:java.lang.ClassNotFoundException: jdk.tools.jaotc.Main
- python - 为什么 driver.find_element_by_xpath("//div[@class='_2ycp _5xhk']") 函数获取不同格式的数据?
- r - r curl_download 不喜欢文件名的地方