错误:找不到[对象对象]的组件工厂

时间:2019-02-16 18:05:55

标签: angular typescript cordova ionic-framework

我被困住了。 我知道通常如何解决该问题,但是这次我被困住了。

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)我创建了一个组件,并将其添加到declarationsentryCompoents中。现在,我试图将此组件用作来自同一模块的另一个组件的模式。

我写了一个代码:

  openModal() {
    const modal = this.modalCtrl.create({
      component: SetLocationModal
    });

    modal.present();
    return false;
  }

<span (click)="openModal()">open modal</span>

并且执行失败

2 个答案:

答案 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/