я впрыснуть динамически компоненты в DOM с:Угловой 2 применять существующий класс CSS к динамическому нагнетаемому компоненту
let factory = this.componentFactoryResolver.resolveComponentFactory(component);
let injector = ReflectiveInjector.fromResolvedProviders([], refDOM.parentInjector);
let comp = factory.create(injector);
comp.changeDetectorRef.detectChanges();
refDOM.insert(comp.hostView,position);
return comp
У меня есть класс CSS:
.vbox {
display: -webkit-box;
display: -moz-box;
display: box;
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
-ms-box-orient: vertical;
box-orient: vertical;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: flex;
-webkit-flex-direction: column;
-moz-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
Я хочу, чтобы применить класс VBox к тег: host css динамического инжектируемого компонента. Поскольку динамический компонент не задан в html-файле перед его вводом, я не могу применять существующие стили классов, такие как: class = "vbox".
Можно ли достичь этого?
спасибо.
Спасибо за ваш ответ. Я хочу применить к самому тегу хоста класс vbox, а не к дочерним узлам хоста. То есть, я хочу применить существующий стиль и не обращаться к существующим элементам класса внутри хоста. Спасибо. –
Я вижу. Непонятно. и вы хотите добавить его независимо от того, какой компонент 'component' на самом деле есть? –
Да. Каждый динамический компонент имеет конкретный файл css, определенный в styleUrls. Я определяю конкретные правила стиля внутри файла css с использованием тега хоста, но, поскольку правило vbox используется в других компонентах, оно указано в другом файле css. При объявлении класса явно в html все работает нормально, но с динамическими компонентами я не могу явно указать использование vbox класса в html. –