Угловые вложенные узлы компонента динамически вставленного компонента не обрабатываются - PullRequest
0 голосов
/ 28 ноября 2018

Я загружаю компоненты динамически, но дочерние компоненты не обрабатываются.Вложенные компоненты разрешаются во время выполнения.

Требуются ли дополнительные действия или я должен создать компоненты для всех вложенных узлов, например для корневого узла?

TS:

@Component({
  selector: 'test-a',
  template: `<ng-content></ng-content>`,
})
export class A  {
}
---
@Component({
  selector: 'test-b',
  template: `<ng-content></ng-content>`,
})
export class B  {
}
---
  const el = window.document.getElementById('test');
  const elA = window.document.createElement('test-a');
  const elB = window.document.createElement('test-b');
  const elC = window.document.createElement('hello');

  elC.setAttribute('name', '{{ name }}')
  elC.innerText = 'placeholder';
  elB.appendChild(elC);
  elA.appendChild(elB);
  el.appendChild(elA);

const node = Array.from(el.childNodes)[0];

const resolver = injector.get(ComponentFactoryResolver);
const factory = resolver.resolveComponentFactory(A);
const ngComponent = factory.create(injector, [ Array.from(node.childNodes) ], node);
        appRef.attachView(ngComponent.hostView);

Просмотр:

<div _ngcontent-c112="" id="test">
  <test-a ng-version="7.0.1">
    <test-b>
      <hello name="{{ name }}">placeholder</hello>
    </test-b>
  </test-a>
</div>

Образец в стеке: https://stackblitz.com/edit/angular-n5yh1d

...