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

詳解解決Vue相同路由參數(shù)不同不會(huì)刷新的問題

 更新時(shí)間:2018年10月12日 15:15:30   作者:bug開發(fā)  
這篇文章主要介紹了詳解解決Vue相同路由參數(shù)不同不會(huì)刷新的問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

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

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

同時(shí)在created 中觸發(fā)請(qǐng)求,在路由參數(shù)不同的情況下并不會(huì)執(zhí)行對(duì)應(yīng)的操作。

解決方法:

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

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

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

2、官方給出的方法是通過 watch 監(jiān)聽路由變化,做判斷路由路徑然后調(diào)用響應(yīng)的方法

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

這兩種方法推薦第一種,第二種需要先對(duì)參數(shù)id進(jìn)行賦值

3、通過組件導(dǎo)航守衛(wèi)來設(shè)置對(duì)應(yīng)的meta 屬性

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

個(gè)人比較喜歡第一種方法

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

彭阳县| 旬阳县| 呈贡县| 综艺| 舟曲县| 北宁市| 贵定县| 安吉县| 琼结县| 准格尔旗| 洪洞县| 石柱| 通辽市| 建平县| 绥宁县| 南岸区| 新绛县| 睢宁县| 禄劝| 抚松县| 翼城县| 屏东县| 霞浦县| 武邑县| 呼伦贝尔市| 樟树市| 竹北市| 大兴区| 黔南| 长治县| 印江| 广州市| 高要市| 偃师市| 枞阳县| 繁峙县| 天全县| 成都市| 广宁县| 海城市| 平舆县|