跨度元素上的动态 css class - angular 4
dynamic css class on a span element - angular 4
我在 table 中有一个 span 元素。我想根据值动态更改 css class。
这是我的 html 代码:
<table>
<thead>
<tr>
<th>Fruits</th>
<th>Colors</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of fruits>
<td>{{data.fruits}}</td>
<td>
<span class="badge badge-default badge-success">{{data.color}}</span>
</td>
</tr>
</tbody>
</table>
我想根据获得的数据显示徽章颜色。例如,如果我变红了,我想将徽章 class 更改为徽章危险。如果我变绿了,我想将 class 更改为 badge-success 等等。
如何在 angular 4 中实现?
谢谢
<span class="badge badge-default badge-success" [ngStyle]="data.color =='red' ? {'class': 'badge badge-danger'} : {'class': 'badge badge-success'}"></span>
您可以使用 ngStyle 属性 和三元运算符,就像我提供的一样
<span class="badge badge-default" [ngClass]="{'badge-danger': data.color === 'red', 'badge-success': data.color === 'green' }></span>
您可以在 angular 中使用 ngClass 指令。参数为 'class-name':condition
,如果 condition
为真,则将 class-name
添加到元素。
在此处阅读有关 ngClass 的更多信息:https://angular.io/api/common/NgClass
试试这个方法
<span class="badge badge-default" [ngClass]="{
'badge-success':data.color === 'green',
'badge-warning':data.color === 'yellow',
'badge-success-danger':data.color === 'red'
}">
</span>
1) 如果值来自对象中的枚举值怎么办
2) 有没有办法把所有的 ngClass 逻辑放在一个组件方法中,并做类似的事情:
<tbody>
<tr *ngFor="let task of tasks">
<td>{{ task.title }}</td>
<td>{{ task.description }}</td>
<td>
<span class="label" [ngClass]="{ getTaskLabel(task) }" >task.taskstate</span>
</td>
<td>
</tr>
</tbody>
我在 table 中有一个 span 元素。我想根据值动态更改 css class。
这是我的 html 代码:
<table>
<thead>
<tr>
<th>Fruits</th>
<th>Colors</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of fruits>
<td>{{data.fruits}}</td>
<td>
<span class="badge badge-default badge-success">{{data.color}}</span>
</td>
</tr>
</tbody>
</table>
我想根据获得的数据显示徽章颜色。例如,如果我变红了,我想将徽章 class 更改为徽章危险。如果我变绿了,我想将 class 更改为 badge-success 等等。
如何在 angular 4 中实现?
谢谢
<span class="badge badge-default badge-success" [ngStyle]="data.color =='red' ? {'class': 'badge badge-danger'} : {'class': 'badge badge-success'}"></span>
您可以使用 ngStyle 属性 和三元运算符,就像我提供的一样
<span class="badge badge-default" [ngClass]="{'badge-danger': data.color === 'red', 'badge-success': data.color === 'green' }></span>
您可以在 angular 中使用 ngClass 指令。参数为 'class-name':condition
,如果 condition
为真,则将 class-name
添加到元素。
在此处阅读有关 ngClass 的更多信息:https://angular.io/api/common/NgClass
试试这个方法
<span class="badge badge-default" [ngClass]="{
'badge-success':data.color === 'green',
'badge-warning':data.color === 'yellow',
'badge-success-danger':data.color === 'red'
}">
</span>
1) 如果值来自对象中的枚举值怎么办 2) 有没有办法把所有的 ngClass 逻辑放在一个组件方法中,并做类似的事情:
<tbody>
<tr *ngFor="let task of tasks">
<td>{{ task.title }}</td>
<td>{{ task.description }}</td>
<td>
<span class="label" [ngClass]="{ getTaskLabel(task) }" >task.taskstate</span>
</td>
<td>
</tr>
</tbody>