簡體   English   中英

Ionic 4 - 硬件后退按鈕禁用,然后將后退按鈕啟用為默認值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM