nativeElement.classList.add () alternative

Ich versuche, eine Schaltflächenkomponente in Winkel 2 zu erstellen. Auf dem Host muss ein dynamisch generierter CSS-Klassenname festgelegt werden. (abhängig von der gebundenen Eigenschaft)

'[ngClass]' auf dem Host funktioniert nicht.

Ich habe gelesen, dass die Verwendung von elementRef.nativeElement.classList.add (value) auch nicht der beste Weg ist, da classList auf Webworkern (oder so) nicht unterstützt wird.

Was sind meine besten Optionen, um die Klasse dynamisch auf dem Host zu generieren?

@Component({
    selector: '[md-button]',
})
export class MdButton {
    color_: string;

    @Input
    set color() {
        this.color_ = value;
        if (this.elementRef !== undefined) {
            this.elementRef.nativeElement.classList.add('md-' + this.color_);
        }   
    }

    get color(): string {
        return this.color_;
    }

    constructor(public elementRef: ElementRef){}
} 

Antworten auf die Frage(4)

Ihre Antwort auf die Frage