Я хочу запустить moduleType в ngModuleFactory и принести значение атрибута name внутри

Я хочу динамически обработать модуль

Это не только рисование компонентов в демо на демо, но и рисование компонентов в импорте

Я хочу сделать это во ViewChild за исключением модуля Impont. Я хочу открыть moduleType в ngModuleFactory. У меня ошибка

this.module

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common'
import { FlightBookingDetailComponent } from './flight-booking-detail.component';
import { TabModule } from 'app/shared/custom-directives/tab/tab.module';

@NgModule({
  declarations: [FlightBookingDetailComponent],
  imports: [
    CommonModule,
    TabModule
  ]
})
export class FlightBookingDetailModule { }

ModalComponent.ts

import {Compiler, Component, Type, Input, Injector, NgModule, NgModuleRef, ComponentFactoryResolver, ViewChild, ViewContainerRef, NgModuleFactory} from "@angular/core";
import { ModalDirective } from './modal.directive';

@Component({
    selector: 'agent-modal',
    template: '<div #vc></div>'
})
export class ModalComponent {
  @Input() component: Type<any>;
  @Input() module: Type<any>;

  @ViewChild('vc', {read: ViewContainerRef}) container: ViewContainerRef;

  constructor(private compiler: Compiler,
              private componentFactoryResolver: ComponentFactoryResolver,
              private injector: Injector,
              private ngModuleRef: NgModuleRef<any>) {
  }

  ngAfterViewInit() {
    const template = '<span>I am {{name}}</span>';

    console.log('aaa', this.module)
    this.compiler.compileModuleAndAllComponentsAsync(this.module)
    .then((factories) => {
      console.log('asfadf', factories)
      const moduleType = factories.ngModuleFactory.moduleType() << error



      for (let componentFactories of factories.componentFactories) {
        const cmpRef = componentFactories.create(this.injector, [], null, this.ngModuleRef);

        console.log('cmpRef', cmpRef)

        this.container.insert(cmpRef.hostView);
      }
    })
  }
}

ошибка: "Значение типа" Тип "не вызывается. Вы хотели включить "new"? Ts(2348) '

0 ответов

Другие вопросы по тегам