【问题标题】:Ionic2 - Show/Hide button based on how the controller was shownIonic2 - 根据控制器的显示方式显示/隐藏按钮
【发布时间】:2016-07-17 19:56:10
【问题描述】:

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

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

问题

如果我向Page2 添加一个关闭按钮,那么即使控制器是使用push() 方法打开的,该按钮也会显示,在这种情况下,它会显示一个后退按钮和一个关闭按钮。

我想要什么

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

流程:

第 1 页 >(推送到)>第 2 页(隐藏关闭按钮)

第 3 页 >(模态到)> 第 2 页(显示关闭按钮)

你知道如何实现吗?

【问题讨论】:

  • 如果您向页面发送带有 false/true 值的参数,这是一个有效的选项吗?这样页面可以隐藏/显示按钮,您唯一需要做的就是在调用 create / push 方法时发送正确的参数。

标签: javascript angular typescript ionic2 ionic3


【解决方案1】:

您可以向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>

【讨论】:

  • 天才的想法,很好的解释!! +1
  • 很高兴能提供帮助:)
猜你喜欢
  • 2018-03-29
  • 1970-01-01
  • 2016-08-19
  • 2021-06-05
  • 1970-01-01
  • 2014-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多