av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

vue監聽瀏覽器原生返回按鈕,進行路由轉跳操作

瀏覽:41日期:2022-11-26 10:19:17

今天測試給我報了個bug說點擊瀏覽器返回頁數據顯示的不對,我查了半天原因:需要監聽瀏覽器的回退按鈕,并阻止其默認事件。

具體操作方法如下:

1、掛載完成后,判斷瀏覽器是否支持popstate

mounted(){ if (window.history && window.history.pushState) { history.pushState(null, null, document.URL); window.addEventListener(’popstate’, this.cancel, false); } },

2、頁面銷毀時,取消監聽。否則其他vue路由頁面也會被監聽

destroyed(){ window.removeEventListener(’popstate’, this.cancel, false); }

3、將監聽操作寫在methods里面,removeEventListener取消監聽內容必須跟開啟監聽保持一致,所以函數拿到methods里面寫

cancel: function() { if(this.orderId){ this.$router.push({ name:'orderList', params: {id:this.orderId},}); }else{ this.$router.go(-1); } },

補充知識:vue-router組件內導航守衛判斷返回按鈕

組件內導航守衛會出現無法攔截$router.go(-1)或者物理返回按鈕,在攔截函數外包裹setTimeout即可。具體原因還未發現。

setTimeout(() => { this.$confirm(’編輯的頁面布局尚未保存,確定離開?’, ’提示’, { confirmButtonText: ’確定’, cancelButtonText: ’取消’, type: ’warning’ }).then(() => { next() return }).catch(() => { this.$message({ type: ’info’, message: ’已取消’ }) next(false) return }) }, 500)

以上這篇vue監聽瀏覽器原生返回按鈕,進行路由轉跳操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
主站蜘蛛池模板: 久久综合入口 | 欧美日韩亚洲一区二区 | 国产精品69久久久久水密桃 | 青青草中文字幕 | 日韩欧美精品一区 | 一区二区播放 | 日本一区二区三区免费观看 | 男人的天堂中文字幕 | 久久99精品久久久久子伦 | 成人av鲁丝片一区二区小说 | 国产一区2区 | 不用播放器看的av | 久久国产一区二区三区 | 欧美一级三级 | 日韩av在线一区 | 精品久久久久久亚洲综合网 | 极品国产视频 | 色狠狠一区 | 免费黄色av网站 | 福利网站在线观看 | 久久精品免费 | 日韩一区二区在线播放 | 精品一区在线 | 欧美精品久久久久久久久久 | 国内精品99| 国产精品国产精品国产专区不卡 | 日韩欧美不卡 | 国产精品网址 | 丝袜久久 | 久久精品日产第一区二区三区 | 午夜精品一区二区三区免费视频 | 视频精品一区二区三区 | 亚洲精品影院 | 国产高清精品一区二区三区 | 欧美一级免费看 | 国产精品一区二区免费 | 九九九视频在线观看 | 在线国产一区 | 中文字幕日韩欧美 | 日韩精品在线观看一区二区三区 | 亚洲午夜av久久乱码 |