navpush不在离子2中工作

时间:2016-10-06 15:09:57

标签: angular typescript ionic-framework ionic2

我正在尝试在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的组件工厂

1 个答案:

答案 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的变化。

  
      
  1. main.dev.ts和main.prod.ts已被弃用,主张为main.ts,内容为main.dev.ts. main.ts的内容会   在生产构建的构建时进行优化。
  2.   
  3. 默认情况下,构建现在始终是开发(非AoT)。要启用prod构建,请使用--prod选项。
  4.   

Taken from Ionic 2 Chanelog