簡體   English   中英

如何顯示來自ionic2組件的頁面

[英]how to show a page from a component in ionic2

我在“ src”目錄中創建了一個組件。在此組件中,有一個函數,當單擊HTML中的按鈕時觸發了該函數。在此函數中,我要調用ionic頁面(測試頁面) 由於ionic 2使用NavController及其pop,push..etc方法維護顯示頁面的堆棧,因此當我從組件中使用.push()方法時會顯示錯誤。 我已經完成所有導入,將頁面鏈接到app.module.ts聲明數組和entryComponents數組中。這是錯誤消息

錯誤錯誤:StaticInjectorError [NavController]:StaticInjectorError [NavController]:NullInjectorError:沒有NavController提供程序!

我找不到任何解決方案

組件代碼

import { NavController,Platform, DomController, ActionSheetController, 
Events, Slides  } from 'ionic-angular';
import { Component, ViewChild } from '@angular/core';
import { IonPullUpFooterState } from 'ionic-pullup';
import {mytestPage} from '../../pages/mytest/mytest';

@Component({
   selector: 'pull-up-drawer',
   templateUrl: 'pull-up-drawer.html'
})

export class PullUpDrawerComponent {
    constructor(public events: Events, public actionSheetCtrl: 
    ActionSheetController,public navCtrl:NavController) {}

    //when button click from html
    buttonClick(){
       this.navCtrl.push(mytestPage);
    }
}

由於無法將navController注入到根頁面,因此該操作navController

嘗試這樣做:

constructor(public events: Events, public actionSheetCtrl: 
ActionSheetController,public app: App) {}


buttonClick(){
   this.app.getRootNav().push(mytestPage);
}

好吧,這是一種方法。 如果這不起作用:

在HTML中執行此操作,即pull-up-drawer.html

<ion-nav [root]="rootPage"></ion-nav>

在您的.ts文件中,設置rootPage = mytestPage;

希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM