2017-03-01 17 views
2

我正在用Ionic 2構建應用程序。成功登錄後,主頁將推入登錄頁面頂部。唯一的問題是,「返回」圖標出現在主頁的頂部。我想要一種在登錄時重定向到主頁的方式,這樣「後退」圖標就不會出現。如何使用離子2將頁面重定向到不帶按鍵/彈出的頁面

謝謝

+0

succesfull登錄後,使用navcontroller.setRoot代替navcontroller.push – JoeriShoeby

+1

歡迎堆棧溢出。如果答案解決了您的問題,請將其標記爲接受https://i.stack.imgur.com/QpogP.png,這樣社區的其他成員可以從中受益。 – JorgeObregon

回答

6

您必須setRoot。這樣,新組件就是根,在你的情況下,它就是HomePage組件。

this.navCtrl.setRoot(HomePageComponent, {}, {animate: true, direction: 'forward'}); 
2

我會建議通過在NavigationController實例調用this.navCtrl.setRoot(YourDesiredPageClassHere)而不是調用this.navCtrl.push(YourDesiredPageClass)設置導航堆棧的根。這會將根目錄導航頁面設置爲YourDesiredPageClass,而無需導航回任何頁面,因此不需要後退按鈕。

您還可以通過您所瀏覽喜歡這樣的頁面視圖控制器實例調用showBackButton(false)編程方式禁用後退按鈕:

import { NavController, ViewController } from 'ionic-angular'; 

export class Page { 

    constructor(
     private navCtrl: NavController, 
     private viewCtrl: ViewController 
    ) { } 

    ionViewWillEnter() { 
     this.viewCtrl.showBackButton(false); 
    } 
} 

或者在使用hideBackButton屬性的HTML禁用後退按鈕(此也可能是hide-back-button),像這樣:

<ion-navbar hideBackButton="true"> 
    <ion-title>Title</ion-title> 
</ion-navbar> 
+0

請注意,如果您在Android上使用物理後退按鈕,隱藏後退按鈕將不起作用。我認爲將頁面設置爲Root是唯一的方法(如果你無法做到這一點,似乎應用程序的設計是不正確的...) – sebaferreras

+0

你有一個好點@sebaferreras ,所以我會建議setRoot在這種情況下完全避免用戶回到上一頁。 – Bryandh

相關問題