1. 程式人生 > >Vue 單頁面應用 另闢蹊徑監聽物理返回事件

Vue 單頁面應用 另闢蹊徑監聽物理返回事件

最近公司有新的需求要使用單頁面 進行開發,選來選去選擇了VUE 因為路由管理起來比較的方便。於是乎開始邊學邊寫。很多坑,

最近又有了新的需求 在android環境下 監聽到使用者點選物理返回事件, 網頁應用就是有些麻煩  百度了很久。網上給的方法基本都是使用Xback.js  或者 通過監聽“popstate”,並不能完美解決。無奈。只能找其它方法。。由於也是剛上手  對 vue 也不太熟悉。翻API,發現了“導航守衛”,於是乎發現了 “離開守衛”  具體程式碼如下:

beforeRouteLeave (to, from , next) {
  const answer = window.confirm('Do you really want to leave? you have unsaved changes!')
  if (answer) {
    next()
  } else {
    next(false)//可以通過在這裡寫邏輯來處理使用者點了物理返回之後的操作
  }
}

離開守衛通常用來禁止使用者在還未儲存修改前突然離開。該導航可以通過 next(false) 來取消。

以上   自己記錄一下 。

相關推薦

Vue 頁面應用 另闢蹊徑物理返回事件

最近公司有新的需求要使用單頁面 進行開發,選來選去選擇了VUE 因為路由管理起來比較的方便。於是乎開始邊學邊寫。很多坑, 最近又有了新的需求 在android環境下 監聽到使用者點選物理返回事件, 網頁應用就是有些麻煩  百度了很久。網上給的方法基本都是使用Xback.

教你怎樣快速建立Vue頁面應用

教你怎樣快速建立Vue單頁面應用 Vue.js是一套目前比較流行的構建使用者介面的漸進式框架,Vue 能夠為複雜的單頁應用程式提供驅動。廢話不多說,進入正題。 1.安裝: 首先您需要安裝npm,如何安裝npm,請參考node.js相關內容。 安裝vue $ npm install

vue頁面應用開啟新視窗顯示跳轉頁面的方法

一般單頁面應用,例如vue都是通過vue-router來做跳轉,不會像多頁應用一樣另起新頁面顯示,但是也不排除一些業務上的需要。一般情況下單頁面應用的路由跳轉我們都是通過簡單的一句話搞定:this.$router.push({name: 'abc'})以上是常規的通過路由的頁

如何在基於 vue 頁面應用全域性使用 websocket ,以及如何定義全域性變數並在其他頁面改變其值

1)首先建立一個全域性 js 檔案,如 global.js ,用於定義全域性變數 ws 和方法 setWs() // global.js export default { ws: {}, setWs: function(newWs) {

Vue頁面應用效能優化實踐

Vue單頁面應用效能優化實踐最近業餘時間一直在做一個個人專案,使用的是vue+vue-router實現的單頁面應用。相對於多頁面應用來說,其實單頁面應用對效能優化的要求要更高,因為首屏載入的檔案要更大,

VUE頁面應用,如何判斷元件內塊級元素中內容滾動到底

第一次寫自己的原創技術部落格,歡迎大家批評指正。最近在用VUE框架做一個移動端的單頁面應用,專案中碰到了一個關於滾動載入的問題,由於某些原因,用已有的滾動載入的框架實現不了UI小GG設計出來的效果,無奈之下只能自己去摸索。在網上面看了很久,發現滾動載入的關鍵就是如何去判斷使用

Vue頁面應用中的Markdown渲染

之前渲染 Markdown 的時候, 筆者使用的是 [mavonEditor](https://github.com/hinesboy/mavonEditor) 的預覽模式, 使用起來比較爽, 只需要引入元件即可, 但是在最近的開發中, 遇到了困難. 主要問題在於作為單頁面應用, 站內連結必須是使用 `ro

JS使用 popstate 事件物理返回

function 事件監聽 bsp als ref listen hist inf UNC pushHistory(); window.addEventListener("popstate", function (e) { i

【PHP】安卓手機物理返回按鍵

if(window.history && window.history.pushState) { $(window).on('popstate', function() { var hashLocation = location.hash;

apicloud物理返回

雙擊退出 function exitApp(){ api.addEventListener({ name: 'keyback' }, function(ret, err){ api.toast({ msg: '

Android Fragment 物理返回 back 鍵

在很多場景下,我們需要 Fragment 監聽物理 back 鍵,而不是 Activity,這個時候我們只能做一些處理,來讓 Fragment 攔截。 首先在 Fragment 中自定義回撥方法,如下: public boolean onBackPressed() { E

js瀏覽器返回事件

tlist cat blog eve class IT sta OS stat $(function(){ pushHistory(); window.addEventListener("popstate", function(e) { w

輕量級MVVM框架Vue.js快速上手(MVVM、SEO頁面應用

靈活 vue.js 課程 基礎 har rip 完成 crud 通過 輕量級MVVM框架Vue.js快速上手(MVVM、SEO單頁面應用、×××服務器端渲染、Nuxt.js) 網盤地址:https://pan.baidu.com/s/1LkhepNpGAtRjrxp_CVJ

Vue系列(1):頁面應用程序

str from logs 引擎 每次 應用 跳轉方式 新手上路 為什麽 前言:關於頁面上的知識點,如有侵權,請看 這裏 。 關鍵詞:SPA、單個 HTML 文件、全靠 JS 操作、Virtual DOM、hash/history api 路由跳轉、ajax 響應、按需

vue給當前頁面加滾動怎麼樣不影響其他頁面

最近利用vue寫了一個網站,在網站某一個頁面滾動到某一個地方後執行某一動化,所以要獲取拿一個div到頂部的距離,所以我在頁面載入的時候給window加了一個滾動的監聽 mounted(){ window.addEventListener('scroll', this.handleScro

vue 應用點擊某個鏈接,跳轉到新頁面的方式

subst ams out 詳情 targe god str blank attribute <router-link class="goDetail" :to="{name: ‘detail‘,params: {id:item.id}}" target = _bl

Vue系列(1):頁面應用程式

前言:關於頁面上的知識點,如有侵權,請看 這裡 。 關鍵詞:SPA、單個 HTML 檔案、全靠 JS 操作、Virtual DOM、hash/history api 路由跳轉、ajax 響應、按需載入、MVVM SPA 我們先來看一下在百科上面的解釋吧,emmmm,一般呢,我每次搜尋一些不懂的詞,都會

[譯] 用 Flask 和 Vue.js 開發一個頁面應用

原文地址:Developing a Single Page App with Flask and Vue.js 原文作者:Michael Herman 譯文出自:掘金翻譯計劃 本文永久連結:github.com/xitu/gold-m… 譯者:Mcskiller

vue製作微信分享的頁面應用

前端 - vue框架後端 - node框架node負責呼叫微信的介面獲取accesstoken 然後換取ticket去儲存 request('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_cr

vue頁面程式對谷歌GA事件應用

    公司運營最近在對網頁做使用者轉化率調查這塊,找到了谷歌GA事件。按照之前GA官網給出的文件,把程式碼加入到了index.html裡面,一週後發現統計出來的資料跟後臺資料庫對比對不上。    經過一番研究後,發現谷歌GA事件的網頁追蹤原理是每一次網頁跳轉都會呼叫那個gt