当我尝试懒洋洋地导航到第二页时,我收到Uncaught (in promise): invalid link SecondPage
错误。这是我的代码:
NavigateToSecondPage(): void{
this.navCtrl.push('SecondPage');
}
第二页是使用ionic-cli生成的离子页面。这是ts文件的样子。
@Component({
selector: 'page-second',
templateUrl: 'second.html',
})
export class SecondPage {
constructor(public navCtrl: NavController, public navParams: NavParams) {
}
}
我收到以下错误:
我做错了什么?
答案 0 :(得分:1)
您应该创建second-module.ts并更新second.ts并添加@IonicPage()
第二module.ts
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { SecondPage } from './second';
@NgModule({
declarations: [
SecondDetailPage,
],
imports: [
IonicPageModule.forChild(SecondPage),
],
exports: [
SecondPage
]
})
export class SecondPageModule {}
答案 1 :(得分:1)
我也经历了这一点,你必须记住两件事来使用离子延迟加载它需要@IonicPage({})装饰器和相关的module.ts文件。它在ionic lazy loading blog中提到的IonicPage装饰器是Ionic如何在构建时为你的应用程序生成正确的映射和URL slug,所以它必须添加这个装饰器
所以在second.ts中添加@IonicPage装饰器:
import { IonicPage } from 'ionic-angular';
@IonicPage({})
@Component({
selector: 'page-second',
templateUrl: 'second.html',
})
export class SecondPage {
constructor(public navCtrl: NavController, public navParams:
NavParams) {
}
}
并将second-module.ts添加到第二个页面文件夹/组件:
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { SecondPage } from './second';
@NgModule({
declarations: [
SecondPage,
],
imports: [
IonicPageModule.forChild(SecondPage),
],
exports: [
SecondPage
]
})
export class SecondPageModule {}