[英]Ionic 4 - Hardware back button disable, then enable back button to default
我想在某些情況下禁用硬件后退按鈕,之后我希望后退按鈕作為默認值。
參考我對這個問題的回答
我找到了避免返回按鈕設備的更好方法,並在您想要的任何頁面上禁用返回
只需制作 service.ts
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);
}
}
您需要訂閱此活動
ionViewDidEnter() {
document.addEventListener("backbutton",function(e) {
if(some condition)
//work
else
//do nothing
}, false);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.