Добавление класса в динамически создаваемый компонент angular - PullRequest
1 голос
/ 11 октября 2019

у меня есть следующий код,

createComponent(message, some_css_class) {
    this.msg.reset();
    const factory = this.resolver.resolveComponentFactory(MessageComponent);
    const componentRef = this.entry.createComponent(factory);
    componentRef.instance.message = message;
    //how to add the passed css class to the this component
}

здесь я динамически создаю компонент, теперь нужно добавить к нему переданный класс css.

Ответы [ 2 ]

1 голос
/ 11 октября 2019

В Angular 5/6, используя Renderer2 из @ angular / core, вы можете попробовать, как показано ниже,

constructor(private resolver: ComponentFactoryResolver, private renderer2: Renderer2) { }

createComponent(message, some_css_class) {
    this.msg.reset();
    const factory = this.resolver.resolveComponentFactory(MessageComponent);
    const componentRef = this.entry.createComponent(factory);
    componentRef.instance.message = message;
    this.renderer2.addClass(componentRef.location.nativeElement, some_css_class);
}
0 голосов
/ 11 октября 2019

вы можете использовать componentRef.instance.cssClass = some_css_class и @HostBinding('class') public cssClass; внутри компонента

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...