Javascript Ionic2-根据控制器的显示方式显示/隐藏按钮

Javascript Ionic2-根据控制器的显示方式显示/隐藏按钮,javascript,angular,typescript,ionic2,ionic3,Javascript,Angular,Typescript,Ionic2,Ionic3,我有一个页面Page2,有时需要使用modal()打开,有时需要使用push()打开 在正常情况下,如果使用按钮方法打开控制器,它将显示“后退”按钮。但是,在使用modal()方法打开页面的另一个场景中,我需要在Page2中添加一个关闭按钮,以便用户可以随时关闭该控制器 问题 如果我将关闭按钮添加到Page2,则即使使用push()方法打开控制器,该按钮也会显示,在这种情况下,它会显示后退按钮和关闭按钮 我想要什么 我想添加一个条件,如果控制器是使用push()打开的,那么它应该隐藏关闭按钮 流

我有一个页面
Page2
,有时需要使用
modal()
打开,有时需要使用
push()
打开

在正常情况下,如果使用按钮方法打开控制器,它将显示“后退”按钮。但是,在使用
modal()
方法打开页面的另一个场景中,我需要在
Page2
中添加一个关闭按钮,以便用户可以随时关闭该控制器

问题

如果我将关闭按钮添加到
Page2
,则即使使用
push()
方法打开控制器,该按钮也会显示,在这种情况下,它会显示后退按钮和关闭按钮

我想要什么

我想添加一个条件,如果控制器是使用
push()
打开的,那么它应该隐藏关闭按钮

流程:

第1页>(按下)>第2页(隐藏关闭按钮)

第3页>(模式切换)>第2页(显示关闭按钮)


您知道如何实现吗?

您可以向
Page2
构造函数发送一个参数,如下所示:

presentPage2AsModal() {
   let page2Modal = this.modalCtrl.create(Page2, { showCloseBtn: true });
   page2Modal.present();
 }
如果您使用
push
方法打开它:

openPage2AsPage() {
   this.nav.push(Page2, { showCloseBtn: false });
 }
然后在
Page2
构造函数中:

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

<button *ngIf="showCloseBtn" (click)="yourMethod">Close</button>
关闭

如果向页面发送带有假/真值的参数,该选项有效吗?这样页面就可以隐藏/显示按钮,您只需要在调用
create
/
push
方法时发送正确的参数。天才的想法,很好的解释+1希望对您有所帮助:)