亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

問題描述:

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

實現功能:

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

分析:

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

注意:

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

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

//監(jiān)聽返回按鈕,重新加載當前頁面
window.history.pushState(state, title, utl)//在頁面中創(chuàng)建一個 history 實體,直接添加到歷史記中。
參數:state:存儲一個對象,可以添加相關信息,可以使用 history.state 讀取其中的內容。
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ā)現不能移除,可能這個生命周期是在路由跳轉完(keep-alive緩存的組件停用時調用)從而找不到那個this了,所以移除監(jiān)聽失敗。
 deactivated(){
   window.removeEventListener('popstate',this.reload,true)
 }
 
 //所以采用組件內的路由守衛(wèi)beforeRouteLeave,成功解決了移除監(jiān)聽事件。
 beforeRouteLeave (to, from, next) {
  // 導航離開該組件的對應路由時調用
  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虛擬鍵返回不刷新內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue axios重復點擊取消上一次請求封裝的方法

    vue axios重復點擊取消上一次請求封裝的方法

    這篇文章主要介紹了vue axios重復點擊取消上一次請求封裝的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • vuex的使用步驟

    vuex的使用步驟

    這篇文章主要介紹了vuex的使用步驟,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2021-01-01
  • Vue中的reactive函數操作代碼

    Vue中的reactive函數操作代碼

    這篇文章主要介紹了Vue中的reactive函數,本文結合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • vue中常見的問題及解決方法總結(推薦)

    vue中常見的問題及解決方法總結(推薦)

    這篇文章主要給大家介紹了關于vue中常見的問題及解決方法的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • vue中報錯“error‘xxx‘?is?defined?but?never?used”問題及解決

    vue中報錯“error‘xxx‘?is?defined?but?never?used”問題及解決

    介紹了兩種解決代碼導入問題的方法:單一代碼解決和全局解決,第一種方法是在代碼前面添加特定代碼并保存;第二種方法是在package.json中添加代碼后重啟項目,這些方法可以有效解決導包錯誤提示,希望對大家有幫助
    2024-10-10
  • 詳解如何去除vue項目中的#——History模式

    詳解如何去除vue項目中的#——History模式

    這篇文章主要介紹了詳解如何去除vue項目中的#——History模式 ,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Vue+jsPlumb實現連線效果(支持滑動連線和點擊連線)

    Vue+jsPlumb實現連線效果(支持滑動連線和點擊連線)

    jsPlumb 是一個比較強大的繪圖組件,它提供了一種方法,主要用于連接網頁上的元素。本文將利用jsPlumb實現連線效果,同時支持滑動連線和點擊連線,感興趣的可以了解一下
    2023-01-01
  • vue-router判斷頁面未登錄自動跳轉到登錄頁的方法示例

    vue-router判斷頁面未登錄自動跳轉到登錄頁的方法示例

    這篇文章主要介紹了vue-router判斷頁面未登錄自動跳轉到登錄頁的方法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • vue + echarts實現中國省份地圖點擊聯動

    vue + echarts實現中國省份地圖點擊聯動

    這篇文章主要介紹了vue + echarts實現中國地圖省份點擊聯動,需要的朋友可以參考下
    2022-04-04
  • 微信小程序實戰(zhàn)基于vue2實現瀑布流的代碼實例

    微信小程序實戰(zhàn)基于vue2實現瀑布流的代碼實例

    瀑布流,又稱瀑布流式布局,是比較流行的一種網站頁面布局,視覺表現為參差不齊的多欄布局,隨著頁面滾動條向下滾動,這種布局還會不斷加載數據塊并附加至當前尾部,這篇文章主要介紹了微信小程序實戰(zhàn),基于vue2實現瀑布流,需要的朋友可以參考下
    2022-12-12

最新評論