【问题标题】:Force Ionic 2 Navbar to use setRoot() instead of pop()强制 Ionic 2 Navbar 使用 setRoot() 而不是 pop()
【发布时间】:2017-03-20 00:45:55
【问题描述】:

当导航到不同的页面时,ion-navbar 会在pop() 上放置一个返回按钮到上一页。有没有办法改变这种行为,让它使用setRoot() 而不是pop(),还是我必须使用ion-toolbar 并手动添加我自己的自定义后退按钮?

(作为旁注,我想使用setRoot() 的原因是因为它是强制刷新前一页而不是使用缓存版本的简单方法。使用像ionViewWillEnter 这样的生命周期钩子似乎没有解决这个问题。所以如果有其他方法可以一起解决这个问题,我也可以尝试。)

【问题讨论】:

  • 你想保持状态吗?
  • @Aravind 我希望它在点击后退按钮时刷新上一页,而不是使用缓存版本。 setRoot(previousPageName) 实现了这一点,但 ion-navbar 默认使用 pop(previousPageName)
  • 可以在ion-navbar 中使用hideBackButton类,然后手动添加自定义后退按钮。
  • @Math10 谢谢。无论如何让它也使用“Back”文本?我不确定如何在这种情况下使用setBackButtonText()。我知道我可以在<button> 标签之间添加“Back”,但是这样做会导致格式混乱。
  • 查看我对相关问题的回答,您可以在其中更改后退按钮的默认行为。(stackoverflow.com/questions/41019241/…)

标签: angular typescript ionic-framework ionic2


【解决方案1】:

当您使用setRoot() 时,您将没有任何返回按钮。如果您需要添加它,您可以手动添加。

例如setRoot()

this.navCtrl.setRoot(EventSchedulePage);

关于生命周期钩子,您可以使用ionViewDidEnter。它在页面完全进入并且现在是活动页面时运行。无论是第一次加载还是缓存页面,都会触发此事件。

您可以参考it here。在Lifecycle Events 标题下查看。

【讨论】:

    猜你喜欢
    • 2018-01-10
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 2012-08-17
    相关资源
    最近更新 更多