Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 错误:找不到[object]的组件工厂_Angular_Typescript_Cordova_Ionic Framework - Fatal编程技术网

Angular 错误:找不到[object]的组件工厂

Angular 错误:找不到[object]的组件工厂,angular,typescript,cordova,ionic-framework,Angular,Typescript,Cordova,Ionic Framework,我卡住了。 我知道通常如何处理这个问题,但这次我被卡住了 1) 错误:未捕获(承诺中):错误:找不到[object]的组件工厂。您是否已将其添加到@NgModule.entryComponents? 为什么错误消息显示的是[object object],而不是特定组件 我知道错误在哪里,我知道是哪个代码引起的。 但我不明白为什么会发生错误,为什么会显示[object object] 2) 我已经创建了一个组件,我已经将它添加到声明和入口组件。现在,我尝试将此组件用作同一模块的另一个组件的模态 我

我卡住了。 我知道通常如何处理这个问题,但这次我被卡住了

1)
错误:未捕获(承诺中):错误:找不到[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对象。