日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Vue中keep-alive組件的深入理解

瀏覽:172日期:2022-12-03 18:35:12

前言

最近在寫Vue項(xiàng)目的時候,遇到了一個問題,我從A路由使用parmas方式傳參跳轉(zhuǎn)到B路由,然后從B路由跳轉(zhuǎn)到C路由,再從C路由返回B路由的時候,發(fā)現(xiàn)從A路由傳到B路由的參數(shù)已經(jīng)不存在了。

Vue中keep-alive組件的深入理解

正文

我們都知道,vue組件進(jìn)行路由跳轉(zhuǎn)時,會銷毀當(dāng)前組件。所以從其他路由返回當(dāng)前路由時,當(dāng)前路由會重新執(zhí)行生命周期鉤子函數(shù)。這就導(dǎo)致了上述問題,A路由傳到B路由的參數(shù)沒了。

當(dāng)遇到這種問題的時候,我們會首先想到,我們能不能讓B路由的數(shù)據(jù)保存下來呢?這就不得不提到Vue的一個組件了,它就是keep-alive。

keep-alive

<keep-alive>包裹動態(tài)組件時,會緩存不活動的組件實(shí)例,而不是銷毀它們。在路由出口加上:

<div id='app'> <keep-alive> <router-view v-if='$route.meta.keepAlive'></router-view> </keep-alive> <router-view v-if='!$route.meta.keepAlive'></router-view> </div>

這樣一來的話,如果在路由配置里的meta項(xiàng)加上keepAlive屬性且值為true時,當(dāng)前路由就會被<keep-alive>包裹,變成一個可緩存路由,路由配置:

{ path: ’/order’, name: ’Order’, component: () => import(’@/views/order/order’), meta: { keepAlive: true // 需要被緩存 } }

在離開order路由的時候,不會執(zhí)行銷毀操作:

Vue中keep-alive組件的深入理解

可以看到,在返回order路由也就是上述B路由的時候,前一個頁面?zhèn)鬟f過來的數(shù)據(jù)仍然保留了下來。

<keep-alive>帶來的問題

在項(xiàng)目繼續(xù)進(jìn)行的時候,出現(xiàn)了另一個問題,當(dāng)我從選擇地址頁面選擇地址,將地址的id存儲到localstorage中,返回order頁面并在created生命周期中取到id再進(jìn)行接口請求,想要拿到這個id相關(guān)的地址信息的時候,發(fā)現(xiàn)接口請求并未發(fā)出:

created() { this.userId = JSON.parse(localStorage.getItem('user')).userId if (JSON.parse(localStorage.getItem('addressId'))) { this.addressId = JSON.parse(localStorage.getItem('addressId')) } this.getAddress() },

于是我在里面加上console.log(1)測試,發(fā)現(xiàn)也沒有東西打印出來,然后我把created改成mounted,依舊是這樣。

Vue中keep-alive組件的深入理解

原因

由于<keep-alive>所包裹的路由具有緩存能力,所以在路由跳轉(zhuǎn)的時候并沒有銷毀,所以返回來的時候不會執(zhí)行相關(guān)生命周期函數(shù)。那么,如果我需要在返回的時候執(zhí)行例如接口請求之類的操作該怎么辦呢?解決辦法

方法一

在需要緩存的頁面中使用路由中的beforeRouteEnter方法,只要跳轉(zhuǎn)到了這個路由,這個方法就會執(zhí)行,在路由跳轉(zhuǎn)前執(zhí)行相關(guān)操作:

beforeRouteEnter(to, from, next) { console.log(’from’, from) next(vm => { if (from.path == '/selectAddress') { // 選擇收貨地址后返回頁面更新收貨地址 vm.addressId = JSON.parse(localStorage.getItem('addressId')) vm.getAddress() } }) }

vm相當(dāng)于this,由于路由守衛(wèi)在導(dǎo)航確認(rèn)前被調(diào)用,因此即將登場的新組件還沒被創(chuàng)建,所以直接訪問this是訪問不到的。

Vue中keep-alive組件的深入理解

方法二

使用activated生命周期鉤子函數(shù),這個函數(shù)在被 <keep-alive> 緩存的組件激活時調(diào)用。

activated () { this.addressId = JSON.parse(localStorage.getItem('addressId')) this.getAddress() },

同樣能實(shí)現(xiàn)效果。

這里由于我這個頁面還需要別的頁面跳轉(zhuǎn)過來進(jìn)行相關(guān)操作,要進(jìn)行路由判斷,所以使用的第一種方法。

總結(jié)

Vue的 keep-alive 組件可以實(shí)現(xiàn)組件數(shù)據(jù)緩存功能,但是使用時要注意,在組件未銷毀時去到當(dāng)前組件,組件的部分生命周期鉤子函數(shù)不會執(zhí)行。這時可以使用 路由守衛(wèi) 或者是 activated 和 deactivated 生命周期鉤子函數(shù)實(shí)現(xiàn)相關(guān)操作。

到此這篇關(guān)于Vue中keep-alive組件的深入理解的文章就介紹到這了,更多相關(guān)Vue中keep-alive組件內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Vue
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
六月婷婷综合| 中文av在线全新| 不卡在线一区二区| 国产h片在线观看| 精品久久美女| 麻豆高清免费国产一区| 国产极品一区| 国产欧美丝祙| 老色鬼精品视频在线观看播放| 国产精品久久久久久久久久久久久久久 | 亚洲性图久久| 久久久久免费av| 91精品一区二区三区综合在线爱| 999久久久91| 国产韩日影视精品| 欧美成人日韩| 中文一区在线| 亚洲资源在线| 91精品国产自产观看在线| 日韩不卡在线观看日韩不卡视频| 日韩精品成人| 国产精品18| 成人综合一区| 伊人久久大香线蕉av不卡| 西西人体一区二区| 日韩中出av| 国产精品久久久久毛片大屁完整版| 精品久久中文| 在线日韩av| 日本一区二区三区视频在线看| 欧美亚洲三区| 精品国产不卡| 激情欧美一区| 亚洲精品乱码| 精品亚洲a∨| 免费视频亚洲| 日韩和欧美一区二区| 精品一区二区三区免费看| 久久影院一区| 人人精品久久| 日韩高清欧美| 三级欧美韩日大片在线看| 欧美天堂一区| 欧美香蕉视频| 视频精品一区二区| 久久超碰99| 亚洲韩日在线| 亚洲精品国产日韩| 久久精品午夜| 午夜久久tv| 国产情侣一区| 久久久国产精品一区二区中文| 视频一区中文字幕| 久久精品一区二区三区中文字幕| 精品日韩视频| 日本不卡视频在线观看| 福利一区二区免费视频| 香蕉视频成人在线观看| 国产精久久久| 日韩专区欧美专区| 国产a久久精品一区二区三区| 午夜影院欧美| 久久久免费人体| 亚洲一区不卡| 日韩88av| 日韩va欧美va亚洲va久久| 久久精品免费一区二区三区| 国产日韩视频在线| 亚洲免费播放| 国产专区精品| 亚洲精品一级二级三级| 三级小说欧洲区亚洲区| 国产日韩一区二区三区在线 | 欧美精品97| 日韩午夜av在线| 成人台湾亚洲精品一区二区| 亚洲一区日韩| av日韩中文| 欧美日韩一区二区高清| 亚洲精品网址| 粉嫩av一区二区三区四区五区 | 97se综合| 欧美一区成人| 黄页网站一区| 黄色欧美在线| 日本欧美韩国一区三区| aa亚洲婷婷| 一区二区精品伦理...| 日韩国产在线一| 在线亚洲观看| 日韩精品电影| 久久99影视| 日韩精品一区二区三区av | 国产精品久久久免费| 日韩亚洲在线| 最近高清中文在线字幕在线观看1| 日本亚州欧洲精品不卡| 狠狠干综合网| 久久中文字幕二区| 国产一区二区三区不卡av | 欧美天堂视频| 精品一区二区三区中文字幕在线| 婷婷精品久久久久久久久久不卡| 亚洲激情婷婷| 久久免费高清| 成人三级高清视频在线看| 国产精品sm| 国产探花在线精品一区二区| 日本麻豆一区二区三区视频| 热久久久久久久| 欧美网站在线| 99久久精品费精品国产| 国产伦久视频在线观看| 国产精品久久久一区二区| 欧美一区二区三区免费看| 日本一不卡视频| 亚洲精品日韩久久| 亚洲免费毛片| 亚洲色图网站| 亚洲伊人影院| 噜噜噜躁狠狠躁狠狠精品视频| 蜜臀91精品国产高清在线观看| 99视频精品全国免费| 精品捆绑调教一区二区三区| 中国字幕a在线看韩国电影| 日本一二区不卡| 综合日韩av| 色综合www| 国产麻豆久久| 成人午夜国产| 欧美日韩一区二区综合 | 欧美91福利在线观看| 韩国三级一区| 亚洲成人二区| 欧美日韩免费观看一区=区三区| 欧美日韩国产高清电影| 免费国产自久久久久三四区久久 | 播放一区二区| 99久久www免费| 99国产精品久久久久久久| 好吊视频一区二区三区四区| 国产精品日韩| 日韩午夜视频在线| 国产日韩中文在线中文字幕 | 九色porny丨国产首页在线| 精品捆绑调教一区二区三区| 99久久精品网站| 国产一区白浆| 亚洲精品成人一区| 国产精品久久久久久久久久久久久久久 | 香蕉视频亚洲一级| 亚洲一级特黄| 亚洲人成网77777色在线播放| 日韩中文字幕av电影| 天堂久久一区| 另类小说一区二区三区| 日韩欧美午夜| 国产精品毛片| 国产乱码精品一区二区三区四区| 久久一区国产| 五月天久久久| 日韩av网站在线免费观看| 国产精品a久久久久| 国产在线看片免费视频在线观看| 精品一区亚洲| 日本不卡中文字幕| 国产一区二区精品福利地址| 美女毛片一区二区三区四区| 亚洲成人va| 亚洲天堂免费| 美女免费视频一区| 亚洲高清二区| 91成人在线精品视频| 毛片在线网站| 免费不卡在线观看| 精品国产欧美日韩| 视频在线观看一区二区三区| 国产欧美日韩精品一区二区三区| а√在线中文在线新版| 性欧美长视频| 精品欠久久久中文字幕加勒比| 日韩一级不卡| 精品久久福利| 亚洲欧美不卡| 麻豆精品新av中文字幕| 国产高清久久| 免费在线观看一区| 精品1区2区3区4区| 麻豆视频久久| 亚洲欧美日韩国产综合精品二区 | 国内一区二区三区| 香蕉久久夜色精品国产| 久久99国产精品视频| 国产亚洲在线观看| 麻豆精品在线观看| 免费成人在线观看| 亚洲黄色中文字幕| 奇米色欧美一区二区三区| 91精品啪在线观看国产18| 国产欧美一区二区精品久久久|