Ionic 4 如何仅在一个页面禁用 iOS 滑动返回功能

3

我希望只在一个页面上禁用 iOS ,而不是全局禁用。例如,当用户结账并付款后,我不希望用户在收到收据后返回之前的页面。我希望用户留在该页面,但无法向后滑动。在 Android 上,我已经禁用了硬件按钮,但在 iOS 上我遇到了一些问题。

我已经添加到 app.module:

IonicModule.forRoot({ swipeBackEnabled: false })

这个功能可以全局禁用滑动返回,但这不是我想要的。我还尝试了这个:

关于禁用滑动返回的文章

我按照上述方法操作后仍无法达到所需效果。

同时我也不理解用户在最后说了什么:

当前实现只适用于应用程序中的单个IonRouterInstance,但如果你的应用程序需要支持多个实例,它可以进行改进。

他所说的适用于单个是什么意思?

非常感谢,任何帮助都将不胜感激。

2个回答

6
IonRouterOutlet 注入到你的类中:
constructor(private routerOutlet: IonRouterOutlet) {}

在需要的位置禁用滑动手势(通常在 ngOnInitionViewDidEnter 中):

ngOnInit() {
    this.routerOutlet.swipeGesture = false;
}

需要时再次激活它(通常在ionViewWillLeaveionViewDidLeave中):

ionViewWillLeave() {
    this.routerOutlet.swipeGesture = true;
}

这篇文章对你有所帮助吗?请帮我点个赞。


不确定,但这似乎无法在Ionic 5中工作。 - Pankaj Parkar

1
答案可以在Ionic论坛这里找到。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接