2016-10-06 2 views
2

에서 작동하지 않는 것은 내 코드입니다 :navpush 내가 이온 2. 여기에 몇 가지 기본적인 라우팅을 수행하려고 이온 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: Error in ./HomePage class HomePage - inline template:16:2 caused by: No component factory found for FishPage

+0

당신은 당신의 app.module 파일을 게시 할 수 있을까요? 거기에 선언이 잘못된 것일 수 있습니다. – Sam5487

+0

감사합니다. 실제로 FishPage를 app.module에 추가하여이 문제를 해결했습니다. 내 질문은 정말로 같아요 : app.module은 무엇을합니까? 그것은 이온 문서의 어떤 것도 아닙니다. – Philip7899

+0

FishPage가 app.modules.ts 페이지의 '선언'및 'entryComponents'에 포함되어 있는지 확인할 수 있습니까? – frednikgohar

답변

3

FishPage와 기타 모든 항목이 신고 및 entryComponents에 app.module 파일에 포함되어 있는지 확인하고자합니다. 이 파일의 목적은 응용 프로그램이 사용하는 모든 구성 요소, 공급자, 지시문 또는 파이프를 손쉽게 선언/나타 내기위한 것입니다. 그런 다음 모듈은 app/main.dev.ts 또는 app/main.prod.ts에로드됩니다.

이오닉 2는 각도 2를 사용하므로 각도 2의 설명서를 대신 살펴보십시오. Angular 2 ngModule guide

이 가이드 Angular 2 architecture guide

    • 는 각 애플 리케이션을위한 빌딩 블록의 변화의 세부 사항으로 이동합니다.

      희망이 도움이됩니다.

      편집 : 응용 프로그램/main.dev.ts 및 응용 프로그램/내 원래의 대답에 언급 된 main.prod.ts에 관해서

      변경.

      1. main.dev.ts and main.prod.ts have been deprecated in favor of main.ts with the content of main.dev.ts. The content of main.ts will be optimized at build time for production builds.
      2. Builds are now always development (non-AoT) by default. To enable prod builds, use the --prod option.

      Taken from Ionic 2 Chanelog