微信web開發問題記錄

来源:https://www.cnblogs.com/victorlyw/archive/2019/07/11/11169312.html
-Advertisement-
Play Games

問題一、微信瀏覽器中無法使用reload重載文檔【VUE框架】 問題分析: 微信不支持location.reload()方法,在微信瀏覽器中會失效 Vue中的路由跳轉是類似於ajax局部刷新,因此使用location.href=‘xxx+時間戳’ 這種方法時,頁面不會重載 Vue自帶的this.$r ...


問題一、微信瀏覽器中無法使用reload重載文檔【VUE框架】

問題分析:

  • 微信不支持location.reload()方法,在微信瀏覽器中會失效
  • Vue中的路由跳轉是類似於ajax局部刷新,因此使用location.href=‘xxx+時間戳’ 這種方法時,頁面不會重載
  • Vue自帶的this.$router.go(0)無效
  • history.go(0)無效

vue框架開發解決:

在App.vue中,先在provide中註冊一個用於頁面重載的方法

<template>
  <div class="app-wrapper">
    <router-view v-if="isRouterAlive" />
  </div>
</template>

<script>
export default {
  name: 'app',
  provide () {
    return {
      appReload: this.reload // 通過provider來提供變數
    }
  },
  data () {
    return {
      isRouterAlive: true // 解決微信端頁面刷新問題
    }
  },
  methods: {
    // 實現重載
    reload () {
      this.isRouterAlive = false
      this.$nextTick(() => {
        this.isRouterAlive = true
      })
    }
  }
}
</script>

然後在子組件中通過inject來註入變數,直接調用reload就可以了

<template>
  <div>
     <button @click="handlerReload">刷新</button>
  </div>
</template>

<script>
  export default {
    inject: ['appReload'], // 通過inject來註入變數
    methods: {
        handlerReload () {
            this.appReload()
        }
    }
  }
</script>

擴展知識:

provider/inject:簡單的來說就是在父組件中通過provider來提供變數,然後在子組件中通過inject來註入變數。
這對選項需要一起使用,以允許一個祖先組件向其所有子孫後代註入一個依賴,不論組件層次有多深,併在起上下游關係成立的時間里始終生效。

參考資料:https://blog.csdn.net/Lucky_Q/article/details/89097423

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、 什麼是路由? 註意:作為vue的插件,需要單獨引入js文件,且必須在vue.js之後引入。 <router-link to=“跳轉路徑”></router-link>:該標簽會預設被解析成<a>標簽 <router-view></router-view>:該標簽用於展示組件中的內容,是路由的出 ...
  • 一半出現於view嵌套view的情況,當父子控制項的點擊都設置為 bindtap的時候,會出現點擊觸發了父view的點擊監聽。 要想父子view各監聽到自己的實踐,需要將子view的點擊改為catchtap ,並添加:hover-stop-propagation='true' , 父容器繼續用bind ...
  • 序號 類目 關鍵詞 操作 {% f... ...
  • 今天遇到了這個方法,便去度娘瞭解了下 函數功能:該函數在屬於當前線程的指定視窗里設置滑鼠捕獲。一旦視窗捕獲了滑鼠,所有滑鼠輸入都針對該視窗,無論游標是否在視窗的邊界內。同一時刻只能有一個視窗捕獲滑鼠。如果滑鼠游標在另一個線程創建的視窗上,只有當滑鼠鍵按下時系統才將滑鼠輸入指向指定的視窗。 setCa ...
  • 需求 在開發vue的項目中有遇到了這樣一個需求:一個視頻列表頁面,展示視頻名稱和是否收藏,點擊進去某一項觀看,可以收藏或者取消收藏,返回的時候需要記住列表頁面的頁碼等狀態,同時這條視頻的收藏狀態也需要更新, 但是從其他頁面進來視頻列表頁面的時候不緩存這個頁面,也就是進入的時候是視頻列表頁面的第一頁 ...
  • 一、什麼是組件? 組件 (Component) 是 Vue.js 最強大的功能之一。組件可以擴展 HTML 元素,封裝可重用的代碼。在較高層面上,組件是自定義元素,Vue.js 的編譯器為它添加特殊功能。在有些情況下,組件也可以表現為用 is 特性進行了擴展的原生 HTML 元素。 <body> < ...
  • 本文介紹TypeScript中泛型的概念,以簡單直白的方式,向那些不瞭解此概念,但渴望在工作中使用它的開發者,提供入門指導。 ...
  • 以上是效果圖,本圖表使用d3.js v4製作。圖表主要功能是在六邊形格子中顯示數據,點擊底部圖標可以切換指定格子高亮顯示,圖表可以隨瀏覽器任意縮放。 1.圖表的主體結構是由正六邊形組成,使用d3生成六邊形可以使用d3-hexbin.js,生成六邊形比較方便,只要給定中心點坐標和半徑即可生成六邊形路徑 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...