Входные компоненты в Angular 5 лениво загруженный модуль не работает - PullRequest
0 голосов
/ 18 марта 2019

Я разработал угловое 5 приложение. Я разделил свое приложение на несколько модулей, таких как ReportModule, ProjectModule и т. Д. Я лениво загружаю эти функциональные модули.

{ path: 'bulkrmchange', loadChildren: './modules/empwise/empwise.module#EmpwiseModule' }

Моя проблема в том, что когда я пытаюсь загрузить компоненты в лениво загруженный модуль в качестве входных компонентов, выдается следующая ошибка.

enter image description here

Теперь я много исследовал и обнаружил, что мы можем использовать NgModuleFactoryLoader для решения этой проблемы. Я попробовал следующий код.

ngAfterViewInit() {
        const path = './modules/empwise/empwise.module#EmpwiseModule'; 
        this.loader.load(path).then((moduleFactory: NgModuleFactory<any>) => {
            const entryComponent = (<any>moduleFactory.moduleType).entry;
            const moduleRef = moduleFactory.create(this.injector);

            const compFactory = moduleRef.componentFactoryResolver.resolveComponentFactory(entryComponent);
            this.cf.createComponent(compFactory);
        });
    }    

Но я получаю следующую ошибку.

enter image description here

Пожалуйста, помогите мне решить эту проблему.

Это код в employee.component, где я пытаюсь открыть мой модальный компонент, который выдает ошибку. Этот employee.component загружен в мой ленивый модуль employee.module.ts, и я пытаюсь открыть Модальный компонент EmployeeWiseAllocationModalComponent внутри этого компонента.

 openContinueModal(gridOptions: any) {
        this.isBackDateAllocation = false;
        // Remove ag-cell focus
        $('.ag-cell-focus').removeClass('ag-cell-focus');

       //Configuration settings for modal popup
        const initialState = {
            gridOptions: gridOptions,
            components: this.components,
            allocationGridData: this.allocationGridData,
            refreshAllocations: this.ongettingEmplID.bind(this),
            minStartDate: this.minStartDate,
            minEndDate: this.minEndDate
        };
        this.bsModalRef = this.modalService.show(EmployeeWiseAllocationModalComponent, Object.assign({ initialState }, this.config, { class: 'gray pmodal' })); // Here I am using modal service top open modal popup
        this.bsModalRef.content.closeBtnName = 'Close';  // Modal Title
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...