2017-01-14 8 views
2

これは私の2つのファイルです。ホームは私のデフォルトビューで、スライドを最初に表示したい。未知(約束):false NavController ionic2

次のようにコードがある:

home.ts

import { Component } from '@angular/core'; 

import { NativeStorage ,BarcodeScanner} from 'ionic-native'; 

import { NavController } from 'ionic-angular'; 

import { SlidePage } from '../slide/slide'; 

@Component({ 
    selector: 'page-home', 
    templateUrl: 'home.html', 
    providers: [BarcodeScanner, SlidePage] 
}) 

export class HomePage { 

    firstLogin = true; 


    constructor(public qrScan : BarcodeScanner, public slides:SlidePage, public navCtrl: NavController) { 
    if(this.firstLogin){ 
     this.goToSlides(); 

    } 
    } 

    goToSlides = function() { 
    console.log("show slides >> "); 
    this.navCtrl.push(this.slides); 
    }; 


} 

slides.ts

import { Component } from '@angular/core'; 

@Component({ 
    templateUrl: 'slide.html' 
}) 
export class SlidePage { 

    constructor() { 
    console.log("dghdghdg"); 
    } 

} 

エラーは次のとおりです。

dghdghdg 
show slides >> 
invalid page component: [object Object] 
Error: Uncaught (in promise): false 
    at s (polyfills.js:3) 
    at polyfills.js:3 
    at Object.ti.reject (nav-controller-base.js:187) 
    at NavControllerBase._queueTrns (nav-controller-base.js:197) 
    at NavControllerBase.push (nav-controller-base.js:52) 
    at HomePage.ngOnInit (home.ts:37) 
    at Wrapper_HomePage.ngDoCheck (wrapper.ngfactory.js:22) 
    at CompiledTemplate.proxyViewClass.View_HomePage_Host0.detectChangesInternal (host.ngfactory.js:37) 
    at CompiledTemplate.proxyViewClass.AppView.detectChanges (view.js:288) 
    at CompiledTemplate.proxyViewClass.DebugAppView.detectChanges (view.js:381) 

答えて

1

slidePageが可能にするサービスではありません注射した私コンポーネントに適用されます。だからあなたはコンストラクタでそれを追加する必要はありません。 app.module.tsでそれらを宣言することは、あなたがする必要があります。

slides= SlidePage; 
    constructor(public qrScan : BarcodeScanner, public navCtrl: NavController) { 
    if(this.firstLogin){ 
     this.goToSlides(); 

    } 
    } 

    goToSlides() { 
    console.log("show slides >> "); 
    this.navCtrl.push(this.slides); 
    }; 

いけないあなたは以下のようにナビゲーションを使用する必要がapp.module.tsdeclarations

1

SlidePageを追加するのを忘れ。

this.navCtrl.push(SlidePage); 
関連する問題