Angular 错误:找不到[object]的组件工厂
我卡住了。 我知道通常如何处理这个问题,但这次我被卡住了 1)Angular 错误:找不到[object]的组件工厂,angular,typescript,cordova,ionic-framework,Angular,Typescript,Cordova,Ionic Framework,我卡住了。 我知道通常如何处理这个问题,但这次我被卡住了 1) 错误:未捕获(承诺中):错误:找不到[object]的组件工厂。您是否已将其添加到@NgModule.entryComponents? 为什么错误消息显示的是[object object],而不是特定组件 我知道错误在哪里,我知道是哪个代码引起的。 但我不明白为什么会发生错误,为什么会显示[object object] 2) 我已经创建了一个组件,我已经将它添加到声明和入口组件。现在,我尝试将此组件用作同一模块的另一个组件的模态 我
错误:未捕获(承诺中):错误:找不到[object]的组件工厂。您是否已将其添加到@NgModule.entryComponents?
为什么错误消息显示的是[object object]
,而不是特定组件
我知道错误在哪里,我知道是哪个代码引起的。
但我不明白为什么会发生错误,为什么会显示[object object]
2) 我已经创建了一个组件,我已经将它添加到声明
和入口组件
。现在,我尝试将此组件用作同一模块的另一个组件的模态
我写了一段代码:
openModal() {
const modal = this.modalCtrl.create({
component: SetLocationModal
});
modal.present();
return false;
}
打开模式
并且它无法执行modalCtrl的类型是什么?对话?还是别的?我已经在以前的项目中实现过,还记得做过“打开”而不是创建
this.modalCtrl.open(RequestCardComponent, {/*any data to pass to the component*/});
正如您发现的,您的代码只适用于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>
我的情态标题
此答案基于:模态是否需要导入任何模块?例如,如果您使用的是
ngx引导程序
,则需要导入NgbModule
该模式是我刚刚测试的同一模块的一部分,通过创建一个新项目,但它已经使用了Ionic 4。ModalController现在使用promises,稍微调整一下代码就可以工作了。但是我用Ionic 3失败了是的,刚刚再次测试过,如果我用Ionic 3启动一个空白项目,那么我会得到同样的错误。命令行:ionic start MyIonic项目blank--type=ionic angularI我有一个工作示例。我认为离子3只能使用动态加载(延迟加载)的模式内容页面,但不能使用本机组件。爱奥尼亚4支持这一点。类型是ModalController-爱奥尼亚3内置组件是的,我混淆了爱奥尼亚v3和爱奥尼亚v4版本。Ionic 3模式接受组件本身,而Ionic 4接受带有属性组件的and对象。