如何在Angular中创建全局ngClass方法?

问题描述 投票:0回答:1

使用Angular 7,我在组件.ts文件中创建了一个ngClass方法,效果很好。

我想要在所有组件中使用相同的方法而无需重新编写代码,但是我不确定该代码应该去哪里。我尝试将其放在app.component.ts中,但这没有用。

我可以在哪里放置ngClass方法,以便它对我所有组件都是全局的?

angular ng-class
1个回答
0
投票

您可以使用服务

您从创建服务开始

export class CSSClassProvider{

   constructor() { }

   getDangerClass(params...) {
         return  { state: "rejected" }
   }
}

将服务插入模块并使用它

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
 @NgModule({

   providers:    [ CSSClassProvider ],
 })
 export class AppModule { }

希望有帮助。


0
投票

例如,您可以创建文件cool-styles.ngclass.ts并在其中导出代码。

export const CoolStyles = {
 "someclass" : true,
 "bg-white" : false
};

例如,您的文件可以包括用于逻辑检查的导入或例如来自env var的其他设置。

如果不是您要查找的内容,则可以考虑使用服务在任何地方提供对ngClass的访问。

© www.soinside.com 2019 - 2024. All rights reserved.