2016-06-20 5 views
0

나는 클래스 속성을 추가 할 필요 dinamically 각 2각도 2의 호스트에 클래스를 추가하는 방법은 무엇입니까?

로 만든 호스트 구성 요소는 내가하고 싶은 것은이 방법이 아니다 : How to add "class" to host element?

경우는 하드 코딩 필요하다 위 수업의 내 목표는 컴파일 타임에 알 수없는 클래스를 추가하는 것입니다. 매개 변수 등으로 문자열로받습니다.

각도 2 안에 클래스를 주입해야합니다. 속성으로 정의하지 마십시오. 또한 매개 변수별로 다른 클래스를 전달하지 않아야합니다. 나는 또한 네이티브 돔 처리를 피하고 싶습니다.

+0

도 참조 http://stackoverflow.com/questions/37643331/setelementclass-for-multiple-classes-in-angular2/37643364#37643364 –

답변

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