Ant*_*iry 4 typescript ionic-framework angular ionic4
我正在尝试从另一个模态对话框中打开一个模态对话框,通过在网络上搜索,我可以看到人们以前没有问题地做过它,但我似乎无法让它工作。
当我尝试从第一个模态组件创建我的第二个模态组件时,它说:
类型错误:this.modal.create 不是函数
这是我的代码(用相关部分修剪)。
组件.module.ts
@NgModule({
declarations: [
QuizResultComponent,
AnswerRecapComponent
],
imports: [CommonModule, FormsModule, IonicModule, FontAwesomeModule],
exports: [
QuizResultComponent,
AnswerRecapComponent
],
entryComponents: [
QuizResultComponent,
AnswerRecapComponent
]
})
export class ComponentsModule {}
Run Code Online (Sandbox Code Playgroud)
这是我打开第一个模态的方式: Exam.page.ts
...
export class ExamPage implements OnInit {
...
constructor(
private router: Router,
private modal: ModalController
) {}
...
async openModal(){
// Creating the result modal
const modal = await this.modal.create({
component: QuizResultComponent,
componentProps: {
type: 'exam'
}
});
// Registering back to menu event after dismiss
modal.onDidDismiss().then(_ => this.router.navigate(['/menu']));
// Showing modal
return await modal.present();
}
...
}
Run Code Online (Sandbox Code Playgroud)
这是quiz-result.component.ts中抛出异常的第二个模式。
...
export class QuizResultComponent implements OnInit {
...
constructor(
private modal: ModalController,
private navParams: NavParams
) {}
...
async openAnswerRecap(q) {
const modal = await this.modal.create({ // This line throws the exception.
component: AnswerRecapComponent,
componentProps: {
question: q.question
}
});
return await modal.present();
}
...
}
Run Code Online (Sandbox Code Playgroud)
我真的没有看到这段代码有任何问题,是否有什么东西阻止我从另一个模态组件打开模态?
小智 6
就我而言,我在构造函数上的第二个模态控制器上创建了不同的名称,例如:
第一个模态:构造函数(私有模态:ModalController)第二个模态:构造函数(私有_modal:ModalController)
并在您的模块 entryPoint 中添加 2 个模态。
| 归档时间: |
|
| 查看次数: |
3962 次 |
| 最近记录: |