尝试从一个页面推送到另一个页面时出错.当我尝试推送到同一页面时,它不会给出错误.只有从一个页面推送到另一个页面时才会出错.'setRoot()'也没有给出错误.
this.navCtrl.push( Page7 );
Run Code Online (Sandbox Code Playgroud)
我已将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 {}
Run Code Online (Sandbox Code Playgroud)
这是一个离子2应用程序.它给出了这个错误.
EXCEPTION: Error in ./Page6 class Page6 - inline template:21:56 caused by: No component factory found for Page7
Run Code Online (Sandbox Code Playgroud)
Sad*_*ami 34
我找到了解决方案.您必须将要尝试推送的页面添加到父目录.那也应该包含在@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
});
}
}
Run Code Online (Sandbox Code Playgroud)
小智 18
你已经把你的组件在exports[]其@NgModule?还是entryComponents?
@NgModule({
imports: [
MaterialModule.forRoot(),
],
exports: [
ConfirmDialog,
],
declarations: [
ConfirmDialog,
],
providers: [
DialogsService,
],
entryComponents: [
ConfirmDialog,
],
Run Code Online (Sandbox Code Playgroud)
你可以做这样的事情。
使用以下内容导入或创建home.module.ts后,
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { HomePage } from './home';
@NgModule({
declarations: [
HomePage,
],
imports: [
IonicPageModule.forChild(HomePage),
],
})
export class HomePageModule {}
Run Code Online (Sandbox Code Playgroud)
删除所有导入页面链接。例如,
import { HomePage } from '../pages/home/home';
Run Code Online (Sandbox Code Playgroud)
然后,替换页面链接,例如,
根页面:任意 = 主页; 与rootPage: any = 'HomePage';
或者,
this.navCtrl.push(HomePage); 与this.navCtrl.push('HomePage');
即在单引号或双引号内写入类名。
| 归档时间: |
|
| 查看次数: |
57045 次 |
| 最近记录: |