Ошибка: не найдена фабрика компонентов для [object Object] - PullRequest
0 голосов
/ 16 февраля 2019

Я застрял.Я знаю, как обычно справляться с проблемой, но на этот раз я застрял.

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>

и не удается выполнить

Ответы [ 2 ]

0 голосов
/ 09 апреля 2019

Как вы узнали, ваш код работает только для 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/

0 голосов
/ 16 февраля 2019

Какой тип modalCtrl?MatDialog?или другой?Я реализовал в предыдущих проектах и ​​помню, что «открыть», а не создать

  this.modalCtrl.open(RequestCardComponent, {/*any data to pass to the component*/}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...