我被困住了。 我知道通常如何解决该问题,但是这次我被困住了。
1)Error: Uncaught (in promise): Error: No component factory found for [object Object]. Did you add it to @NgModule.entryComponents?
为什么错误消息显示[object Object]
而不是特定组件?
我知道错误在哪里,我知道是哪个代码引起的。
但是我不明白为什么会发生错误,为什么会显示[object Object]
。
2)我创建了一个组件,并将其添加到declarations
和entryCompoents
中。现在,我试图将此组件用作来自同一模块的另一个组件的模式。
我写了一个代码:
openModal() {
const modal = this.modalCtrl.create({
component: SetLocationModal
});
modal.present();
return false;
}
<span (click)="openModal()">open modal</span>
并且执行失败
答案 0 :(得分:0)
modalCtrl的类型是什么? MatDialog?或其他?我在以前的项目中已经实现了,记得做“打开”而不是创建
this.modalCtrl.open(RequestCardComponent, {/*any data to pass to the component*/});
答案 1 :(得分:0)
您发现您的代码仅适用于ionic v4。面对同样的问题,但又不想升级ionic,我发现这段代码对我有用:
在打开页面上:
async presentModal() {
let modal = this.modalController.create(ModalNew);
modal.onDidDismiss(data => {
console.log(data);
});
modal.present();
}
模式:
import { Component } from '@angular/core';
import {ViewController} from "ionic-angular";
@Component({
selector: 'new-time',
templateUrl: 'new.html'
})
export class ModalNew {
constructor(public viewCtrl: ViewController) {
// componentProps can also be accessed at construction time using NavParams
}
}
模式HTML
<ion-header>
<ion-toolbar>
<h1 class="title">My Modal title</h1>
</ion-toolbar>
</ion-header>
<ion-content padding>
</ion-content>
此答案基于:https://ionicframework.com/docs/v3/api/components/modal/ModalController/