Javascript 无法使用延迟加载ionic3打开ModalController

Javascript 无法使用延迟加载ionic3打开ModalController,javascript,angular,ionic-framework,ionic2,ng-modules,Javascript,Angular,Ionic Framework,Ionic2,Ng Modules,为了提高性能,我正在我的ionic 3/angular5应用程序中实现延迟加载。但我无法用它打开模态,这让我发疯。我有一个页面(红色的日志),在那里我加载消息并显示它们(绿色的消息项)。当用户点击它时,它会在下面的模式上打开完整的消息(蓝色的MessageModal) 我为每个模块创建了3个单独的模块。但是,尽管我将MessageModal添加到MESSAGE item模块中,但在点击按钮OPEN MESSAGE后,我仍然收到以下错误: 未捕获(承诺中):错误:未找到的组件工厂 信息模态。您是

为了提高性能,我正在我的ionic 3/angular5应用程序中实现延迟加载。但我无法用它打开模态,这让我发疯。我有一个页面(红色的日志),在那里我加载消息并显示它们(绿色的消息项)。当用户点击它时,它会在下面的模式上打开完整的消息(蓝色的MessageModal)

我为每个模块创建了3个单独的模块。但是,尽管我将MessageModal添加到MESSAGE item模块中,但在点击按钮OPEN MESSAGE后,我仍然收到以下错误:

未捕获(承诺中):错误:未找到的组件工厂 信息模态。您是否将其添加到@NgModule.entryComponents

因此,我尝试将ModalMessage添加到entryComponents中,并将其添加到每个模块/组件中,但仍然不起作用,我真的被卡住了

JournalModule应该需要导入MessageModule和MessageModalModule,MessageModule应该向其entryComponents添加MessageModal。请查找以下代码:

journal.module.ts

@NgModule({
  declarations: [ JournalPage  ],
  imports: [
    MessageModalModule,
    MessageModule,
    IonicPageModule.forChild(JournalPage)
  ],
  providers: [JournalService], 
  exports: [JournalPage],
  entryComponents :[MessageModal]
})
export class JournalPageModule {}
一篇日志.html

 <ion-list *ngIf="messages.length !=0 && messageLoaded == true">
          <message-item *ngFor="let message of messages" [message]="message"  (quizz)="handleQuizzResult($event)"  (delete)="deleteMessage($event)" (isRead)="messageRead($event)" ></message-item>
 </ion-list>
@NgModule({
  declarations: [ MessageItem ],
  entryComponents : [MessageModal],
  imports: [ IonicPageModule.forChild(MessageItem)],
  exports : [MessageItem]
})
export class MessageModule {}
@IonicPage()
@Component({
   selector: 'message-item',
   templateUrl: './message.html',
   entryComponents : [MessageModal]
})

...

let modal = this.modalCtrl.create( MessageModal, { message : this.message });
@NgModule({
  declarations: [ MessageModal ],
  imports: [ IonicPageModule.forChild(MessageModal)],
  exports : [MessageModal]
})
export class MessageModalModule {}
一条消息。ts

 <ion-list *ngIf="messages.length !=0 && messageLoaded == true">
          <message-item *ngFor="let message of messages" [message]="message"  (quizz)="handleQuizzResult($event)"  (delete)="deleteMessage($event)" (isRead)="messageRead($event)" ></message-item>
 </ion-list>
@NgModule({
  declarations: [ MessageItem ],
  entryComponents : [MessageModal],
  imports: [ IonicPageModule.forChild(MessageItem)],
  exports : [MessageItem]
})
export class MessageModule {}
@IonicPage()
@Component({
   selector: 'message-item',
   templateUrl: './message.html',
   entryComponents : [MessageModal]
})

...

let modal = this.modalCtrl.create( MessageModal, { message : this.message });
@NgModule({
  declarations: [ MessageModal ],
  imports: [ IonicPageModule.forChild(MessageModal)],
  exports : [MessageModal]
})
export class MessageModalModule {}
消息模式模块.ts

 <ion-list *ngIf="messages.length !=0 && messageLoaded == true">
          <message-item *ngFor="let message of messages" [message]="message"  (quizz)="handleQuizzResult($event)"  (delete)="deleteMessage($event)" (isRead)="messageRead($event)" ></message-item>
 </ion-list>
@NgModule({
  declarations: [ MessageItem ],
  entryComponents : [MessageModal],
  imports: [ IonicPageModule.forChild(MessageItem)],
  exports : [MessageItem]
})
export class MessageModule {}
@IonicPage()
@Component({
   selector: 'message-item',
   templateUrl: './message.html',
   entryComponents : [MessageModal]
})

...

let modal = this.modalCtrl.create( MessageModal, { message : this.message });
@NgModule({
  declarations: [ MessageModal ],
  imports: [ IonicPageModule.forChild(MessageModal)],
  exports : [MessageModal]
})
export class MessageModalModule {}

我不知道我哪里错了。。任何建议/文件,不胜感激

请将
entryComponents:[MessageModal]
添加到
NgModule
@aminarghavani确切位置?您的
ModalMessage
是延迟加载?@Jibeee最接近
MessageModal
的模块@duanx是的,请添加
entryComponents:[MessageModal]
NgModule
@aminarghavani确切位置?您的
ModalMessage
是延迟加载?@Jibeee距离
MessageModal
最近的模块@duanx是的