最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中解決微信html5原生ios虛擬鍵返回不刷新問題

 更新時間:2020年10月20日 10:30:18   作者:智慧女孩要禿頭~  
這篇文章主要介紹了vue中解決微信html5原生ios虛擬鍵返回不刷新問題,本文給大家分享解決方法,通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

問題描述:

做微信h5頁面時,經(jīng)過了微信授權才跳轉到一級默認路由home.vue中,因此在home頁面時在IOS中底部會出現(xiàn)虛擬的返回鍵,安卓上不會出現(xiàn)。且在IOS點擊返回時會跳轉到home空白頁面不重新加載,但是在安卓機上點擊返回鍵會重新加載。

實現(xiàn)功能:

解決IOS問題(在home頁面點返回時路由還是在home頁面,并完成重新加載)

分析:

需要在進入頁面時加入監(jiān)聽,并在頁面離開時移除監(jiān)聽。因為home頁面是個滾動列表,所以我采用了keep-alive路由緩存,所以不能在created()和beforeDestroy()生命周期中寫,因此我在home.vue中加了組件內(nèi)的守衛(wèi)beforeRouteLeave ()在里面移除監(jiān)聽,在activated()中添加監(jiān)聽。
如果頁面沒有采用路由緩存,則監(jiān)聽事件和移除事件可以在created()和beforeDestroy()這兩個生命周期函數(shù)中寫。

注意:

addEventListener()與removeEventListener()用于處理指定和刪除事件處理程序操作。
它們都接受3個參數(shù):事件名、事件處理的函數(shù)和布爾值。
布爾值參數(shù)是true,表示在捕獲階段調(diào)用事件處理程序;
如果是false,表示在冒泡階段調(diào)用事件處理程序。

相同事件綁定和解除,需要使用共用函數(shù);如果removeEventListener不生效,可以看看這篇文章:https://blog.csdn.net/amyleeYMY/article/details/83382741

//監(jiān)聽返回按鈕,重新加載當前頁面
window.history.pushState(state, title, utl)//在頁面中創(chuàng)建一個 history 實體,直接添加到歷史記中。
參數(shù):state:存儲一個對象,可以添加相關信息,可以使用 history.state 讀取其中的內(nèi)容。
title:歷史記錄的標題(目前瀏覽器不支持)。
url:創(chuàng)建的歷史記錄的鏈接。進行歷史記錄操作時會跳轉到該鏈接。

最終代碼:

home.vue

activated(){
  //在頁面中創(chuàng)建一個 history 實體,當實體改變時會觸發(fā)popstate事件,跳轉到當前頁面,并重新加載當前頁面
  window.history.pushState(null, 'ff', document.URL);
  window.addEventListener('popstate',this.reload,true)
 }
 
 //本來在deactivated中寫移除事件監(jiān)聽的,但是發(fā)現(xiàn)不能移除,可能這個生命周期是在路由跳轉完(keep-alive緩存的組件停用時調(diào)用)從而找不到那個this了,所以移除監(jiān)聽失敗。
 deactivated(){
   window.removeEventListener('popstate',this.reload,true)
 }
 
 //所以采用組件內(nèi)的路由守衛(wèi)beforeRouteLeave,成功解決了移除監(jiān)聽事件。
 beforeRouteLeave (to, from, next) {
  // 導航離開該組件的對應路由時調(diào)用
  window.removeEventListener('popstate',this.reload,true) //這個一定要寫到next()前面
  next()
 }
methods:{
reload(){
  window.location.reload()//重新加載
 }
}

main.js

import {Component} from "vue-property-decorator";
Component.registerHooks([
 'beforeRouteLeave',
]);

就這樣成功的解決IOS返回不刷新問題~歡迎小伙伴來交流

到此這篇關于vue中解決微信html5原生ios虛擬鍵返回不刷新問題的文章就介紹到這了,更多相關微信html5原生ios虛擬鍵返回不刷新內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 2023年最新的vue.js下載和安裝的3種方法詳解

    2023年最新的vue.js下載和安裝的3種方法詳解

    這篇文章主要介紹了2023年最新的vue.js下載和安裝的3種方法,每種方法結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • 一步一步實現(xiàn)Vue的響應式(對象觀測)

    一步一步實現(xiàn)Vue的響應式(對象觀測)

    這篇文章主要介紹了一步一步實現(xiàn)Vue的響應式(對象觀測),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • Vue2.0點擊切換類名改變樣式的方法

    Vue2.0點擊切換類名改變樣式的方法

    今天小編就為大家分享一篇Vue2.0點擊切換類名改變樣式的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Vue中使用jsencrypt進行RSA非對稱加密的操作方法

    Vue中使用jsencrypt進行RSA非對稱加密的操作方法

    這篇文章主要介紹了Vue中使用jsencrypt進行RSA非對稱加密,在這里需要注意要加密的數(shù)據(jù)必須是字符串,對Vue?RSA非對稱加密相關知識感興趣的朋友一起看看吧
    2022-04-04
  • vue2 前端搜索實現(xiàn)示例

    vue2 前端搜索實現(xiàn)示例

    本篇文章主要介紹了vue2 前端搜索實現(xiàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • vue頁面params傳值的坑及解決

    vue頁面params傳值的坑及解決

    這篇文章主要介紹了vue頁面params傳值的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue?el-input設置必填提示功能(單個與多個)

    vue?el-input設置必填提示功能(單個與多個)

    有的功能需要設置必填項,當然也需要判斷是不是添上了,下面這篇文章主要給大家介紹了關于vue?el-input設置必填提示功能(單個與多個)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • 最新評論

    和顺县| 吉隆县| 伊川县| 新蔡县| 英超| 成武县| 霍邱县| 琼海市| 县级市| 鹰潭市| 临安市| 抚松县| 林甸县| 抚州市| 白水县| 教育| 长宁区| 高尔夫| 大冶市| 永嘉县| 谷城县| 汨罗市| 津南区| 武穴市| 修水县| 应城市| 延寿县| 河间市| 吴江市| 新化县| 县级市| 柳江县| 林甸县| 沙雅县| 平江县| 开远市| 白银市| 海原县| 额尔古纳市| 扎兰屯市| 来宾市|