2016-07-17 13 views
1

Page2は、時々modal()、時にはpush()を使用して開く必要があります。通常のシナリオではIonic2 - コントローラの表示方法に基づいて表示/非表示ボタン

コントローラは、プッシュ方式を使用して開かれている場合、それは「戻る」ボタンが表示されます。しかし、modal()メソッドを使用してページを開く他のシナリオでは、ユーザはいつでもそのコントローラを閉じることができるように、Page2に閉じるボタンを追加する必要があります。

問題

私はPage2に閉じるボタンを追加すると、そのボタンは、コントローラがpush()方法を使用して開かれた場合でも示しており、この場合には、[戻る]ボタンと閉じるボタンが表示されます。

:私は

が、私はコントローラがpush()を使用して開かれた場合、それはその閉じるボタン

流れを隠すべきで、条件を追加したい欲しい

ページ1>(にプッシュ)>ページ2(クローズボタンを非表示)

ページ3>(モーダルに)>ページ2(クローズボタンを表示)

これを達成する方法はありますか?

+0

false/trueの値を持つパラメータをページに送信すると有効なオプションですか?そうすれば、ページがボタンを隠したり表示したりするだけで、 'create' /' push'メソッドを呼び出すときに適切なパラメータを送ることができます。 – sebaferreras

答えて

3

あなたは、Page2コンストラクタにこのような何かパラメータを送ることができます:あなたはpush方法でそれを開いた場合

presentPage2AsModal() { 
    let page2Modal = this.modalCtrl.create(Page2, { showCloseBtn: true }); 
    page2Modal.present(); 
} 

をそして:

openPage2AsPage() { 
    this.nav.push(Page2, { showCloseBtn: false }); 
} 

そしてPage2コンストラクタで:

constructor(..., private navParams: NavParams) { 
    // Get the param 
    this.showCloseBtn = navParams.get('showCloseBtn'); 
} 

とビューで:

+0

天才のアイデア、素晴らしい説明!! +1 –

+0

喜んで役立つ:) – sebaferreras

関連する問題