【发布时间】:2021-03-26 10:44:47
【问题描述】:
我想有条件地应用内联样式,其中包含多个 css 规则(所有规则仅依赖于一个条件)。
大多数时候,我会想转
(1):
<div style="color: gray; opacity: 0.8"></div>
到(2):
<div [ngStyle]="(condition) ? {'color': 'gray', 'opacity': '0.8'} : {}"></div>
并且经常(但不总是),我可能想重构为外部 css 文件,并根据需要添加类,
(3):
.my-class {
color: gray;
opacity: 0.8;
}
第 2 步的语法是否可能比第 1 步和第 3 步更相似(以避免无用的 css 字符串重构:'color: gray; opacity: 0.8;' 到 'color': 'gray', 'opacity': '0.8')。
接近于:
<div {{ condition | styleIf:'color: gray; opacity 0.8' }}></div>
我知道它那么不好,但重构舞有点不方便和尴尬。
如果没有,我打算写一个管道,但我更愿意在重新发明轮子之前先问一下。
【问题讨论】: