in src/app/shared/doc-viewer/doc-viewer.ts [138:156]
private _loadComponents(componentName: string, componentClass: any) {
const exampleElements =
this._elementRef.nativeElement.querySelectorAll(`[${componentName}]`);
[...exampleElements].forEach((element: Element) => {
const example = element.getAttribute(componentName);
const region = element.getAttribute('region');
const file = element.getAttribute('file');
const portalHost = new DomPortalOutlet(
element, this._componentFactoryResolver, this._appRef, this._injector);
const examplePortal = new ComponentPortal(componentClass, this._viewContainerRef);
const exampleViewer = portalHost.attach(examplePortal);
const exampleViewerComponent = exampleViewer.instance as ExampleViewer;
if (example !== null) {
DocViewer.initExampleViewer(exampleViewerComponent, example, file, region);
}
this._portalHosts.push(portalHost);
});
}