国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

詳解解決Vue相同路由參數不同不會刷新的問題

2024-05-06 15:28:45
字體:
來源:轉載
供稿:網友

通常情況下我們喜歡設置keepAlive 包裹 router-view

<div id="app">    <keep-alive>      <router-view></router-view>    </keep-alive></div>

同時在created 中觸發請求,在路由參數不同的情況下并不會執行對應的操作。

解決方法:

1、給 router-view 設置 key 屬性為路由的完整路徑

<keep-alive>   <router-view :key="$route.fullPath"></router-view></keep-alive>

這種方法我覺得應該是一勞永逸的方法,可能對性能造成一定損耗。不適用于一個tab切換路由并加載列表的組件,會造成頁面白屏,dev模式不會自動刷新,是個坑

2、官方給出的方法是通過 watch 監聽路由變化,做判斷路由路徑然后調用響應的方法

watch: { '$route' () { if (this.$route.path === 'test') {  this.test(); } }}
watch: { 'id': { handler: 'test', //調用方法 immediate: true, //進入立即執行一次 }},

這兩種方法推薦第一種,第二種需要先對參數id進行賦值

3、通過組件導航守衛來設置對應的meta 屬性

beforeRouteEnter: (to, from, next) = > { // 寫在當前組件 to.meta.keepAlive = false   next()}, beforeRouteLeave: (to, from, next) = > { //寫在前一個組件 to.meta.keepAlive = false next()},

個人比較喜歡第一種方法

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 香格里拉县| 青神县| 滦平县| 扶余县| 静乐县| 普陀区| 三原县| 马鞍山市| 深泽县| 乌兰浩特市| 同德县| 夏河县| 田林县| 精河县| 聂拉木县| 西充县| 海晏县| 册亨县| 光泽县| 长海县| 东平县| 依安县| 农安县| 贡山| 驻马店市| 嫩江县| 文山县| 界首市| 灵寿县| 宜兴市| 长顺县| 中卫市| 通辽市| 无为县| 辽阳县| 会泽县| 穆棱市| 合山市| 西乌| 东平县| 江北区|