gpt4 book ai didi

angular - Ionic 2 - 禁用特定 View 的后退按钮

转载 作者:太空狗 更新时间:2023-10-29 16:47:42 25 4
gpt4 key购买 nike

所以我在 Ionic 2 上有点乱,我想知道如何禁用特定 View 的后退按钮。

我正在做的是 this.nav.push(SomePage); 它有效,但是 NavController 会自动为我放置一个后退按钮。如何禁用后退按钮?

注意:我知道我可以使用 this.nav.setRoot(SomePage) 将 SomePage 设置为 root 并且没有后退按钮,但这不提供有用的动画NavController 自动执行。


编辑:这个问题有点老了,但它已经引起了一些关注,所以我认为也应该提一下以备将来引用,还有另一个原因你可能不想使用 this.nav.setRoot 为了推送一个没有后退按钮的页面:它删除预先存在的页面堆栈。因此,如果您仍然希望能够在不为用户提供 UI 方法的情况下返回代码中的上一页,setRoot 将不允许您这样做。

最佳答案

选项 1

通过向ion-navbar组件添加hideBackButton属性将其隐藏在 View 中

<ion-navbar hideBackButton="true">
<ion-title>Sub Page</ion-title>
</ion-navbar>

选项 2

使用 ViewController 类提供的 .showBackButton(bool) 方法在页面类中隐藏它

import { NavController, ViewController } from 'ionic-angular';

export class SubPage {

constructor(public navCtrl: NavController, private viewCtrl: ViewController) { }

ionViewWillEnter() {
this.viewCtrl.showBackButton(false);
}

}

来自 Ionic docs 的评论

Be sure to call this after ionViewWillEnter to make sure the DOM has been rendered.

注意

我只想补充一点,当按下硬件后退按钮时,这些选项不会被考虑在内。硬件后退按钮仍然可能导致事件页面从导航堆栈中弹出。

关于angular - Ionic 2 - 禁用特定 View 的后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37296999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com