2016-06-20 3 views
0

Ich brauche dinamically eine Klasse Attribut hinzufügen die eine Host-Komponente mit kantigem 2.Wie Klassen in Winkel 2 zum Host hinzufügen?

gemacht, was ich will zu tun ist, nicht auf diese Weise: How to add "class" to host element?

Im Fall darüber die Hardcoding erforderlich wäre, der Klasse. Mein Ziel ist es, eine unbekannte Klasse zur Kompilierzeit hinzuzufügen, die als String nach Parameter oder ähnlichem erhalten wird.

Ich muss die Klasse aus Angular 2 injizieren, nicht als ein Attribut definieren. Es sollte auch nicht vermieden werden, eine andere Klasse nach Parameter zu übergeben. Ich möchte auch vermeiden, die Heimatdomäne zu behandeln.

+0

Siehe auch http://stackoverflow.com/questions/37643331/setelementclass-for-multiple-classes-in-angular2/37643364#37643364 –

Antwort

3

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