【发布时间】:2018-05-09 19:43:42
【问题描述】:
我有一个 json,它会返回我的边框颜色,这将应用于跨度。 JSON是 文件 = [ { '边框颜色':'红色' } ]
如何动态应用类?
我的html很简单
<div *ngFor="let file of File">
<span dynamicClassComesHere></span>
【问题讨论】:
-
这对你有用吗?
我有一个 json,它会返回我的边框颜色,这将应用于跨度。 JSON是 文件 = [ { '边框颜色':'红色' } ]
如何动态应用类?
我的html很简单
<div *ngFor="let file of File">
<span dynamicClassComesHere></span>
【问题讨论】:
试试这个,
HTML:
<div *ngFor="let file of File">
<span [style.border-color]="file.borderColor"></span>
</div>
【讨论】:
应该是-
<span [ngClass]='dynamicClass'></span>
除此之外,根据官方文档
,还有多种方法可以做到这一点
<some-element [ngClass]="'first second'">...</some-element>
<some-element [ngClass]="['first', 'second']">...</some-element>
<some-element [ngClass]="{'first': true, 'second': true, 'third': false}">...</some-element>
<some-element [ngClass]="stringExp|arrayExp|objExp">...</some-element>
<some-element [ngClass]="{'class1 class2 class3' : true}">...</some-element>
【讨论】:
因为它只是单一的样式,所以像这样使用ngStyle
const style = {'borderColor':'red'};//ts file
<span [ngStyle]="style"></span >
<span [ngStyle]="{'borderColor':getBorderColor()}"></span >
你的情况
<div *ngFor="let file of File">
<span [ngStyle]="JSON.stringify(file)"></span>
也可以这样
<span [style.borderColor]="getBorderColor()">
getBorderColor() {
style = JSON.parse(`{ 'borderColor':'red' }`);
return style.borderColor;
}
你的情况
<div *ngFor="let file of File">
<span [style.borderColor]="file.borderColor"></span>
【讨论】: