角度 – 离子2防止硬件后退按钮默认
发布时间:2020-12-17 07:49:32 所属栏目:安全 来源:网络整理
导读:按下硬件后退按钮时如何防止默认导航?我已经尝试了registerBackButtonAction,但它会覆盖我不想要的每个页面中的后退按钮的行为. 这也没有帮助. document.addEventListener("backbutton",(event) = { event.preventDefault(); },false); 正如您在 Ionic docs
按下硬件后退按钮时如何防止默认导航?我已经尝试了registerBackButtonAction,但它会覆盖我不想要的每个页面中的后退按钮的行为.
这也没有帮助. document.addEventListener("backbutton",(event) => { event.preventDefault(); },false);
正如您在
Ionic docs中看到的,registerBackButtonAction返回一个函数:
因此,您可以使用该功能在离开页面时恢复默认行为,如下所示: import { Component} from '@angular/core'; @Component({ selector: 'page-home',templateUrl: 'home.html' }) export class HomePage { // Property used to store the callback of the event handler to unsubscribe to it when leaving this page public unregisterBackButtonAction: any; constructor(...) { ... } ionViewDidEnter() { this.initializeBackButtonCustomHandler(); } ionViewWillLeave() { // Unregister the custom back button action for this page this.unregisterBackButtonAction && this.unregisterBackButtonAction(); } public initializeBackButtonCustomHandler(): void { this.unregisterBackButtonAction = this.platform.registerBackButtonAction(() => { this.customHandleBackButton(); },10); } private customHandleBackButton(): void { // do what you need to do here ... } } 正如您所看到的,关键是存储registerBackButtonAction方法的回调并在以后离开页面时使用它(或者当您想要恢复默认行为时): this.unregisterBackButtonAction = this.platform.registerBackButtonAction(() => { this.customHandleBackButton(); },10); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |