我正在尝试在Ionic 2中做一些基本路由。这是我的代码:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import {FishPage} from '../fish';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
goFish: FishPage;
constructor(public navCtrl: NavController) {
this.goFish = FishPage;
}
}
这是FishPage:
import { Component } from '@angular/core';
@Component({
templateUrl: 'fish.html'
})
export class FishPage {
constructor() {
}
}
这是html:
<ion-content>
<button ion-button full [navPush]="goFish" >Go Fish</button>
</ion-content>
然而,当我点击按钮时,我收到以下错误:
EXCEPTION:./ HomePage class HomePage中的错误 - 内联模板:16:2 引起:找不到FishPage的组件工厂
答案 0 :(得分:3)
您希望确保您的FishPage和所有其他内容都包含在app.module
文件中的声明和entryComponents中。此文件的目的只是在手边声明/表示应用程序使用的所有组件,提供程序,指令或管道。然后将模块加载到app / main.dev.ts或app / main.prod.ts中。
由于Ionic 2利用了Angular 2,请查看Angular 2的文档。
这些指南详细介绍了角度应用的构建模块中的更改。
希望这有帮助!
修改强>
我原来的答案中提及的app / main.dev.ts和app / main.prod.ts的变化。
- main.dev.ts和main.prod.ts已被弃用,主张为main.ts,内容为main.dev.ts. main.ts的内容会 在生产构建的构建时进行优化。
- 默认情况下,构建现在始终是开发(非AoT)。要启用prod构建,请使用--prod选项。
醇>