Компоненты Angular 6, созданные с помощью фабрики, не получают атрибут содержимого (_ngcontent-cXXX) и никаких унаследованных стилей - PullRequest
0 голосов
/ 15 января 2019

В моем угловом приложении есть метод, который создает компонент и вставляет его в родительский элемент через ComponentFactory (метод делает некоторые вещи позже, но это не должно иметь значения). Моя проблема в том, что сгенерированные узлы компонентов не имеют никаких атрибутов _ngcontent-cXXX. Следовательно, инкапсуляция стилей предотвращает наследование созданными компонентами любых стилей от их родителей. С нединамическими компонентами он работает просто отлично.

Конечно, я мог бы получить атрибут _nghost-XXX родительского элемента через DOM-доступ и просто сам добавить число, но это не очень понятно. Есть ли лучший способ сделать это?

Вот строка кода, отвечающая за создание и вставку компонента:

const child= hostComponent.createComponent(factory);

Вот некоторые CSS, которые должны работать (host.component.scss):

.app-child { color: red; }

Я использую классы как селекторы компонентов, если это имеет значение.

Если вам нужно больше кода или информации, дайте мне знать:)

...