Подтвердить что ты не робот

"Нет компонента factory найдено для" Ошибка при попытке нажать с одной страницы на другую

Я получаю сообщение об ошибке при попытке нажать с одной страницы на другую. Когда я пытаюсь нажать на ту же страницу, это не даст этой ошибки. Только я получаю ошибку при нажатии с одной страницы на другую. 'setRoot()' также не дает ошибки.

this.navCtrl.push( Page7 );

Я добавил файл Page7 в app.module.ts.

import { NgModule } from '@angular/core';
import { IonicApp, IonicModule } from 'ionic-angular';
import { MyApp } from './app.component';

import { Page1 } from '../pages/page1/page1';
import { Page2 } from '../pages/page2/page2';
import { Page3 } from '../pages/page3/page3';
import { Page4 } from '../pages/page4/page4';
import { Page5 } from '../pages/page5/page5';
import { Page6 } from '../pages/page6/page6';
import { Page7 } from '../pages/page7/page7';

@NgModule({
declarations: [
MyApp,
Page1,
Page2,
Page3,
Page4,
Page5,
Page6,
Page7
],
imports: [
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
Page1,
Page2,
Page3,
Page4,
Page5,
Page6,
Page7
],
providers: []
})

export class AppModule {}

Это ионное приложение. Он передает эту ошибку.

EXCEPTION: Error in ./Page6 class Page6 - inline template:21:56 caused by: No component factory found for Page7

ошибка консоли

4b9b3361

Ответ 1

Я нашел решение. Вы должны добавить страницу, которую вы пытаетесь нажать, в родительский каталог. Это также должно быть включено в @NgModule.

import {ApiServices} from '../../providers/api-services';
import { Visualizer } from '../Page7/Page7';

@Component({
  selector: 'page-page6',
  templateUrl: 'page6.html',
  providers: [ ApiServices ],
  entryComponents:[ Page7 ]
})

export class Page6 {
    tapped(event, id ) {
      this.navCtrl.push( Page7,{
       id: id
      });
    }
}      

Ответ 2

Вы помещаете свой компонент в exports[] в его @NgModule? или entryComponents?

@NgModule({
    imports: [
        MaterialModule.forRoot(),
    ],
    exports: [
        ConfirmDialog,
    ],
    declarations: [
        ConfirmDialog,
    ],
    providers: [
        DialogsService,
    ],
    entryComponents: [
        ConfirmDialog,
    ],

Ответ 3

Я думаю, что ошибка может быть письмом UpperCase на вашем пути при импорте, который работает для меня.

Ответ 4

Возможно, вы захотите, чтобы он не помещал его в кавычки:

let modal = this.modalCtrl.create("SearchPage")

вместо (неверно):

let modal = this.modalCtrl.create(SearchPage)