Cordova + Vue 實現點選兩次退出應用

Storm4542發表於2019-03-12

註冊事件

//注意在 deviceready 後使用,寫在methods中
//點選返回按鍵
  onBackKeyDown() {
       this.$toast('再點選一次退出應用');
       document.removeEventListener("backbutton", this.onBackKeyDown, false); // 登出返回鍵
       document.addEventListener("backbutton", this.exitApp, false);//繫結退出事件
       setInterval(() => {
             document.addEventListener("backbutton", this.onBackKeyDown, false);
             document.removeEventListener("backbutton", this.exitApp, false);
           }, 3000)
        }
//關閉APP
 exitApp() {
         navigator.app.exitApp();
        },
複製程式碼

啟動事件

  created() {
        document.addEventListener("backbutton", this.onBackKeyDown, false);
        this.refreshTask();
        this.refreshNotice();
    }
複製程式碼

銷燬事件

 beforeDestroy() {
        document.removeEventListener("backbutton", this.onBackKeyDown, false); // 登出返回鍵
        document.removeEventListener("backbutton", this.exitApp, false);
    }
複製程式碼

如果頁面使用了<keep-alive>標籤,那麼銷燬事件的時機為頁面離開之前。

    beforeRouteLeave(to, from, next) {
        document.removeEventListener("backbutton", this.onBackKeyDown, false); // 登出返回鍵
        document.removeEventListener("backbutton", this.exitApp, false);
        this.$indicator.close()
        next()
    }
複製程式碼

相關文章