如何在 Angular 2 中添加类到主机?

Posted

技术标签:

【中文标题】如何在 Angular 2 中添加类到主机?【英文标题】:How to add classes to host in angular 2? 【发布时间】:2016-10-22 07:09:13 【问题描述】:

我需要为使用 Angular 2 制作的主机组件添加一个类属性。

我想做的不是这样: How to add "class" to host element?

在上述情况下,必须对类进行硬编码。我的目标是在编译时添加一个未知类,通过参数或类似的字符串作为字符串接收。

我需要从 Angular 2 内部注入类,而不是将其定义为属性。它也不应该避免通过参数传递另一个类。我也想避免处理原生 dom。

【问题讨论】:

另见***.com/questions/37643331/… 【参考方案1】:

使用Renderer:

// Renderer.setElementClass(renderElement: any, className: string, isAdd: boolean) : any

class MyComponent 
  constructor(private elRef:ElementRef, private renderer: Renderer) 

  ngOnInit() 
    this.renderer.setElementClass(this.elRef.nativeElement, "whatever", true || false)
  

【讨论】:

以上是关于如何在 Angular 2 中添加类到主机?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Angular 2 中动态更改 :host 中的 CSS?

Angular 2. 在共享主机上运行

如何在 Angular 2+ 中添加自定义验证

如何使用 .NET Core 2 配置 Angular 6 以允许来自任何主机的 CORS?

如何在 Angular 2 中添加表单验证模式?

如何在angular2中使用添加类属性