2017-05-22 14 views
2

Androidのハードウェア戻るボタンが戻るボタン機能(platform.registerBackButtonAction)を処理する以外のモーダルを解除するのを防ぐ簡単な方法がありますか?enableBackdropDismissオプション?Ionic 2:戻るボタンでモーダル解除を無効にする

私はモーダルとしてログインページを実装していますので、ユーザーが単に戻るボタンを押してそれを閉じないようにする必要があります。私は、ログインページのモーダルを使うのは悪いデザインの選択だと思っています。

答えて

2

私は他のソリューションとATMを試しました。作成されたModalCtrlを作成して注入することができます。作成メソッドでは、派生したModalとModalImplを返します。後者では、いくつかのDismissロジックをオーバーライドします。それは素晴らしいことではなく、イオンの人seem to have a plan - うまくいけばionViewCanLeaveを修正するためです。

次は、モーダルバックAndroid上で却下ブロック解除/遮断するための最小限のソリューションと思われる:ログインのためのモーダルを使用するよう

class LoginModal { 

    private backButtonUnregister: any; 

    constructor(platform: Platform) { 
    this.backButtonUnregister = platform.registerBackButtonAction(() => {}); 
    } 

    ionViewWillLeave() { 
    this.backButtonUnregister(); 
    } 
} 

を:最初のログイン時には、我々は単にrootとしてログインページを設定していますページ。しかし、再認証時には、バックグラウンドから復帰するときは、ログインモーダルを押しています。これには、(バーガー)メニューをブロックし、他のすべてのページ(他のモーダルを含む)がオーバーレイされるという利点があります。

関連する問題