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

时间:2016-06-20 21:59:31

标签: angular class-names

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

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

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

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

1 个答案:

答案 0 :(得分:3)

使用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)
  }
}