Ionic 4 - 禁用硬件后退按钮,然后将后退按钮启用为默认值



我想在某些情况下禁用硬件后退按钮,之后我希望后退按钮充当默认值。

我对这个问题的回答的参考

我找到了更好的方法来避免后退按钮设备,并在您想要的任何页面上禁用

只需制作服务即可

import { Router, NavigationEnd } from '@angular/router';
@Injectable({
providedIn: 'root'
})
export class DisableBackService {
// page disable back button
private blackLists: string[] = ['/tab/wall', '/event-list', '/tutorial', '/offline-message'];
constructor(private router: Router) {
// call every have change page
this.router.events.subscribe((ev) => {
if (ev instanceof NavigationEnd) {
const blackList = this.blackLists.find(el => ev.url.includes(el));
if (blackList) {
this.disableBack();
} else {
this.enableBack();
}
}
});
}
private logger() {
console.log('disable back button');
}
disableBack() {
document.addEventListener('backbutton', this.logger, false);
}
enableBack() {
document.removeEventListener('backbutton', this.logger, false);
}
}

相关内容

最新更新