鍍金池/ 問(wèn)答/HTML/ 請(qǐng)問(wèn)vue 如何把keep-alive緩存的頁(yè)面保存起來(lái) 刷新后重新獲取緩存過(guò)

請(qǐng)問(wèn)vue 如何把keep-alive緩存的頁(yè)面保存起來(lái) 刷新后重新獲取緩存過(guò)的頁(yè)面?

請(qǐng)問(wèn)vue 如何把keep-alive緩存的頁(yè)面保存起來(lái) 刷新后重新獲取緩存過(guò)的頁(yè)面?

回答
編輯回答
假灑脫

vue的keep-alive跟瀏覽器的緩存是不一樣的,keep-alive是組件狀態(tài)持久化,你并不能把keep-alive的頁(yè)面跟網(wǎng)頁(yè)緩存一樣保存,但是可以通過(guò)數(shù)據(jù)緩存的方式去實(shí)現(xiàn)保存頁(yè)面狀態(tài),將keep-alive中的數(shù)據(jù)、變量值都存在storage,然后在頁(yè)面的created事件判斷有storage中如果有緩存數(shù)據(jù),就可以直接還原出來(lái),如果頁(yè)面沒(méi)有被刷新,下次進(jìn)入keep-alive的頁(yè)面也是不會(huì)執(zhí)行created事件的,然后可以在activated事件做頁(yè)面未被刷新時(shí)重新進(jìn)入頁(yè)面需要的處理,但是這樣做并不是真正緩存頁(yè)面文件。

2018年6月15日 23:20