Vue 項目重復點擊菜單刷新當前頁面

需求:“在當前頁面點擊當前頁面對應的菜單時,也能刷新頁面。”

由于 Vue 項目的路由機制是路由不變的情況下,對應的組件是不重新渲染的。所以重復點擊菜單不會改變路由,然后頁面就無法刷新了。

方案一

在vue項目中,如何實現再次點擊,刷新右側內容,我使用了vue中的[provide/inject]

1. 在父組件中設置provide

?2.還有別忘了methods中reload()這個方法

?3.在左側菜單組件中通過inject調用

?

參考文檔vue+element的后臺項目 實現再次點擊左側菜單欄,刷新右側內容_element右側組件刷新-CSDN博客

方案二

借助重定向

點擊左側子菜單時,菜單欄會折疊再刷新一下


利用一個空的?redirect?頁面,通過判斷當前路由是否與點擊的路由一致,如果一致,則跳轉到?redirect?頁面,然后在?redirect?頁面重定向回跳轉之前的頁面。這樣就實現了頁面刷新了。

  1. 創建一個空的頁面:src/layout/components/redirect.vue

    <script>
    export default {beforeCreate() {const { query } = this.$routeconst path = query.paththis.$router.replace({ path: path })},mounted() {},render: function(h) {return h() // avoid warning message}
    }
    </script>

  2. 掛載路由:src/router/index.js

    {path: '/redirect',component: () => import('@/layout/components/redirect.vue')
    },
  3. 菜單跳轉的地方添加事件,進行相關處理:

<el-menu ... @select="selectMenuItem">// ...
</el-menu><script>
export default {methods: {selectMenuItem (url, indexPath) {if (this.$route.fullPath === url) {// 點擊的是當前路由 手動重定向頁面到 '/redirect' 頁面this.$router.replace({path: '/redirect',query: {path: encodeURI(url)}})} else {// 正常跳轉this.$router.push({path: url})}}}
}
</script>

用此種方法,當點擊同一菜單時,地址欄每次的變化都是從:http://localhost:8080/#/redirect?path=xxxxxx?至?http://localhost:8080/#/xxxxxx

?參考文檔:Vue 項目重復點擊菜單刷新當前頁面 - 掘金 (juejin.cn)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/718813.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/718813.shtml
英文地址,請注明出處:http://en.pswp.cn/news/718813.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深入了解 JavaScript 混淆加密和環境檢測

JavaScript混淆加密是一種通過修改代碼結構和命名約定來增加代碼的復雜性&#xff0c;使其難以被理解和逆向工程的技術。在這篇文章中&#xff0c;我們將深入探討JS混淆加密的一些邏輯&#xff0c;并介紹如何通過環境檢測來提高代碼的安全性。我們將使用案例代碼演示這些概念。…

List集合按中文拼音排序,或按自己想要順序的調整排序

1.你要按拼音排序&#xff08;字母同音依次比后面字母&#xff09; //集合按中文拼音排序Collections.sort(collect,new Comparator() {Overridepublic int compare(Object o1, Object o2) {return chineseCompare(o1,o2);}});//排序方法private static int chineseCompare(Obj…

【java】使用七牛云上傳文件

注冊七牛云 - 小王小王ii - 博客園 (cnblogs.com) 1.依賴 <dependencies><dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java-sdk</artifactId><version>7.2.7</version></dependency><dependency>…

一些Springboot有用的配置:application.properties、xml訪問mybatis數據庫

application.properties #驅動類名稱 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver #數據庫連接的url spring.datasource.urljdbc:mysql://localhost:3306/tlias #連接數據庫的用戶名 spring.datasource.usernameroot #連接數據庫的密碼 spring.datasource.p…

STM32用標準庫編寫按鍵控制LED燈的proteus仿真

首先打開proteus仿真軟件&#xff0c;繪制電路圖&#xff1a; 或是下載我已經建立好的工程修改&#xff1a; 鏈接&#xff1a;https://pan.baidu.com/s/1Nx5p3Tif6eHBIVkcPfsj9w?pwd1234 提取碼&#xff1a;1234 第一步復制整個工程文件夾&#xff0c;就不用重新配置的辛苦…

論文閱讀:2017MobileNet V1谷歌輕量化卷積神經網絡

拓展&#xff1a;賈揚清&#xff1a;深度學習框架caffe&#xff08;Convolutional Architecture for Fast Feature Embedding&#xff09; 主要貢獻&#xff1a; 深度可分離卷積&#xff08;Depthwise separable convolution&#xff09;逐點卷積&#xff08;Pointwise convo…

C++筆試題(選擇+編程)

個人主頁&#xff1a;Lei寶啊 愿所有美好如期而遇 選擇題 請找出下面程序中有哪些錯誤&#xff08;&#xff09; int main() {int i 10;int j 1;const int *p1;//(1)int const *p2 &i; //(2)p2 &j;//(3)int *const p3 &i;//(4)*p3 20;//(5)*p2 30;//(6…

LeetCode 刷題 [C++] 第279題.完全平方數

題目描述 給你一個整數 n &#xff0c;返回 和為 n 的完全平方數的最少數量 。 完全平方數是一個整數&#xff0c;其值等于另一個整數的平方&#xff1b;換句話說&#xff0c;其值等于一個整數自乘的積。例如&#xff0c;1、4、9 和 16 都是完全平方數&#xff0c;而 3 和 11…

#LLM入門|Prompt#2.7_檢查結果_Check_Outputs

引領你了解 如何評估系統生成的輸出。確保在向用戶展示輸出之前&#xff0c;對其質量、相關性和安全性進行嚴格的檢查&#xff0c;以保證我們提供的反饋是準確和適用的。如何運用審查(Moderation) API 來對輸出進行評估如何通過額外的 Prompt 提升模型在展示輸出之前的質量評估…

redis運維

1.備份redis配置文件 cp /etc/redis.conf /etc/redis.conf.bak 2.將redis中不要的注釋和空行刪除 sed -i /^#/d; /^$/d /etc/redis.conf 3.redis配置文件 bing 0.0.0.0 &#xff1a;綁定本機所有網卡 daemonize yes&#xff1a;設置后臺運行 requirepass redispwd…

k8s初始化錯誤

報錯詳情&#xff1a; you can check the kubelet logs for further clues by running: ‘journalctl -u kubelet’ Alternatively, there might be issues with your Kubernetes configuration files or maybe the necessary ports are not opened. Check the status of …

題目 1434: 藍橋杯歷屆試題-回文數字

題目描述: 觀察數字&#xff1a;12321&#xff0c;123321 都有一個共同的特征&#xff0c;無論從左到右讀還是從右向左讀&#xff0c;都是相同的。這樣的數字叫做&#xff1a;回文數字。 本題要求你找到一些5位或6位的十進制數字。滿足如下要求&#xff1a; 該數字的各個數位…

rust多個mod文件引用和文件夾mod使用注意事項

如果mod文件都在同一級目錄&#xff0c;則直接使用就可以&#xff0c;因為rust文件都是一個隱藏的mod&#xff0c;但是如果mod文件在另外一個目錄下面&#xff0c;就需要在目錄下面聲明一個mod.rs文件&#xff0c;這樣才能將那個目錄識別為一個mod&#xff0c;可以在mod.rs里面…

鴻蒙App開發新思路:小程序轉App

國家與國家之間錯綜復雜&#xff0c;在谷歌的安卓操作系統“斷供”后&#xff0c;鴻蒙系統的市場化&獨立化的道路便顯而易見了。 2024年1月18日&#xff0c;華為宣布&#xff0c;不再兼容安卓的“純血鴻蒙”--HarmonyOS NEXT鴻蒙星河版最終面世&#xff0c;并與2024年Q4正…

如何在阿里云/騰訊云Ubuntu服務器上安裝和配置GNOME桌面環境?

在Ubuntu服務器上安裝和配置GNOME桌面環境&#xff0c;首先需要確保已經安裝了必要的軟件和環境。以下是詳細的安裝和配置步驟&#xff1a; 安裝GNOME桌面環境&#xff1a; 使用命令sudo apt-get install gnome-shell來安裝GNOME桌面窗口管理程序。接著安裝gnome-panel、gnome-…

Flutter Text 下劃線

IntrinsicWidth(child: Column(mainAxisAlignment:MainAxisAlignment.center,children: [Text("工單名稱",style: TextStyle(overflow: TextOverflow.fade,color: AppColors.baseColor,fontSize: 15.sp,// decorationStyle: TextDecorationStyle.dashed),),Container…

馬士超:符合國際標準的沉浸式音頻HOLOSOUND的發展與未來 | 演講嘉賓公布

一、3D音頻 3D 音頻分論壇將于3月27日同期舉辦&#xff01; 3D音頻技術不僅能夠提供更加真實、沉浸的虛擬世界體驗&#xff0c;跨越時空的限制&#xff0c;探索未知的世界。同時&#xff0c;提供更加豐富、立體的情感表達和交流方式&#xff0c;讓人類能夠更加深入地理解彼此&a…

【Spring云原生】Spring Batch:海量數據高并發任務處理!數據處理縱享新絲滑!事務管理機制+并行處理+實例應用講解

&#x1f389;&#x1f389;歡迎光臨&#x1f389;&#x1f389; &#x1f3c5;我是蘇澤&#xff0c;一位對技術充滿熱情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;特別推薦給大家我的最新專欄《Spring 狂野之旅&#xff1a;從入門到入魔》 &#x1f680; 本…

不知道RAID/SAN/NAS的小可愛來看看這個吧!

RAID RAID&#xff08;冗余陣列的獨立磁盤&#xff0c;Redundant Array of Independent Disks&#xff09;是一種將多個磁盤驅動器組合成一個或多個單元的技術&#xff0c;目的是在提高數據可靠性和/或提升性能的同時&#xff0c;對操作系統隱藏底層的復雜性。簡而言之&#x…

Windows Server 2012 R2 安裝 OpenSSH

1.下載OpenSSH https://github.com/PowerShell/Win32-OpenSSH/releases 2.解壓到路徑 &#xff08;一定解壓到這個路徑&#xff09;&#xff1a;C:\Program Files\OpenSSH 3.OpenSSH安裝 使用管理員身份打開命令提示符&#xff0c;使用cd命令到步驟2中OpenSSH文件夾的位置&am…