Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何简化模板中的[ngClass]_Angular - Fatal编程技术网

Angular 如何简化模板中的[ngClass]

Angular 如何简化模板中的[ngClass],angular,Angular,此模板中的[ngClass]太长。有简单的方法吗?多谢各位 地位 {{element.ThisConsult.Status} 您可以在组件上创建一个函数来调用模板,以避免在您的类上出现冗长的条件列表 例如: UserComponent @Component({...}) export class UserComponent { constructor() {} assignClassByStatus(element: any): string { cons

此模板中的[ngClass]太长。有简单的方法吗?多谢各位


地位
{{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合并到父类