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

时间:2017-11-23 20:36:42

标签: javascript angular ionic-framework ionic2 ng-modules

我正在我的离子3 / angular5应用程序中实现延迟加载以提高性能。但我无法打开使用它的模态,它让我发疯。我有一个页面(红色日记),我加载消息并显示它们(消息项目为绿色)。当用户单击它时,它会打开如下所示模式的完整消息(蓝色的MessageModal)。

enter image description here

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

  

未捕获(承诺):错误:找不到组件工厂   MessageModal。你有没有把它添加到@ NgModule.entryComponents

所以我尝试将modalMessage添加到每个模块/组件的entryComponents,但它仍然不起作用,我真的卡住了。

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

journal.module.ts

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

一段journal.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>

message.module.ts

@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 });

message-modal.module.ts

@NgModule({
  declarations: [ MessageModal ],
  imports: [ IonicPageModule.forChild(MessageModal)],
  exports : [MessageModal]
})
export class MessageModalModule {}

我不知道我错在哪里..任何建议/文件都赞赏!

0 个答案:

没有答案