【问题标题】:Ionic 4 - Hardware back button disable, then enable back button to defaultIonic 4 - 硬件后退按钮禁用,然后将后退按钮启用为默认值
【发布时间】:2020-01-28 21:58:57
【问题描述】:

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

【问题讨论】:

    标签: angular ionic-framework


    【解决方案1】:

    参考我对此issue的回答

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

    只需制作 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);
      }
    }
    

    【讨论】:

    • 太棒了,非常感谢你。与 fancybox3 一起使用时有很大帮助
    猜你喜欢
    • 2021-11-21
    • 2019-08-11
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    相关资源
    最近更新 更多