Angular 如何简化模板中的[ngClass]
此模板中的[ngClass]太长。有简单的方法吗?多谢各位Angular 如何简化模板中的[ngClass],angular,Angular,此模板中的[ngClass]太长。有简单的方法吗?多谢各位 地位 {{element.ThisConsult.Status} 您可以在组件上创建一个函数来调用模板,以避免在您的类上出现冗长的条件列表 例如: UserComponent @Component({...}) export class UserComponent { constructor() {} assignClassByStatus(element: any): string { cons
地位
{{element.ThisConsult.Status}
您可以在组件上创建一个函数来调用模板,以避免在您的类上出现冗长的条件列表
例如:
UserComponent
@Component({...})
export class UserComponent {
constructor() {}
assignClassByStatus(element: any): string {
const classes = [
{ name: 'seahawk', type: 'PENDING' },
{ name: 'blue', type: 'ACTIVE' },
{ name: 'blackOnWhite', type: 'COMPLETE' },
{ name: 'grayOnWhite', type: 'DISCONTINUED' },
{ name: 'bloody', type: 'CANCELLED' },
];
const className = classes.find(({ type }) => type === element).name;
return className;
}
}
用户模板
...
<td mat-cell *matCellDef="let element">
<div [ngClass]="assignClassByStatus(element)">{{element.ThisConsult.Status}}</div>
</td>
。。。
{{element.ThisConsult.Status}
您可以在组件上创建一个函数来调用模板,以避免在您的类上出现冗长的条件列表
例如:
UserComponent
@Component({...})
export class UserComponent {
constructor() {}
assignClassByStatus(element: any): string {
const classes = [
{ name: 'seahawk', type: 'PENDING' },
{ name: 'blue', type: 'ACTIVE' },
{ name: 'blackOnWhite', type: 'COMPLETE' },
{ name: 'grayOnWhite', type: 'DISCONTINUED' },
{ name: 'bloody', type: 'CANCELLED' },
];
const className = classes.find(({ type }) => type === element).name;
return className;
}
}
用户模板
...
<td mat-cell *matCellDef="let element">
<div [ngClass]="assignClassByStatus(element)">{{element.ThisConsult.Status}}</div>
</td>
。。。
{{element.ThisConsult.Status}
您可以简单地将对象用作字典:
组件。ts
class组件{
状态={
待定:'海鹰',
活动:“蓝色”,
已停播:“blackOnWhite”,
完成:'grayOnWhite',
取消:“该死的”
}
...
template.html
[ngClass]=“状态[元素.ThisConsult.Status]”
您可以简单地将对象用作字典:
组件。ts
class组件{
状态={
待定:'海鹰',
活动:“蓝色”,
已停播:“blackOnWhite”,
完成:'grayOnWhite',
取消:“该死的”
}
...
template.html
[ngClass]=“状态[元素.ThisConsult.Status]”
将css合并到父类将css合并到父类