J'essaie de créer un popover sur ma page d'accueil, j'ai donc créé la fonction suivante.
public presentPopover(myEvent) {
let popover = this.popoverCtrl.create(TestComponent);
popover.present({
ev: myEvent
});
}
dans mon homepage.module.ts j'ai ajouté testComponent comme composant d'entrée.
import { TestModule } from './../../components/test/test.module';
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { HomePage } from './home';
import { TestComponent } from './../../components/test/test';
@NgModule({
declarations: [
HomePage,
],
imports: [
TestModule,
IonicPageModule.forChild(HomePage),
],
entryComponents: [
TestComponent,
]
})
Mais je reçois toujours cette erreur lorsque je clique sur ce bouton popover.
ERROR Error: Uncaught (in promise): Error: No component factory found for TestComponent. Did you add it to @NgModule.entryComponents?
Error: No component factory found for TestComponent. Did you add it to @NgModule.entryComponents?
at noComponentFactoryError (core.js:3786)
at CodegenComponentFactoryResolver.resolveComponentFactory (core.js:3850)
at PopoverCmp._load (popover-component.js:41)
at PopoverCmp.ionViewPreLoad (popover-component.js:33)
Et je ne comprends pas pourquoi devrais-je ajouter ceci à l'entrée Composants?
Vous devez ajouter des composants créés dynamiquement aux composants d'entrée dans votre @NgModule
@NgModule({
...
declarations: [
...
Name of your component,
],
entryComponents: [
...
Name of your component,
]
})
Remarque: Dans certains cas, les composants d'entrée sous des modules chargés paresseusement ne fonctionneront pas, car une solution de contournement les a mis dans votre app.module (root)