vue:vue页面刷新vuex数据消失问题
vuex中數(shù)據(jù)刷新頁(yè)面消失問(wèn)題:
a頁(yè)面請(qǐng)求的數(shù)據(jù)保存在vuex中,只要不刷新,那跳轉(zhuǎn)到b頁(yè)面里也可以用,但如果b頁(yè)面刷新,那vuex里的數(shù)據(jù)就會(huì)消失,
可以得解決方法:a頁(yè)面用的數(shù)據(jù)a頁(yè)面的生命周期函數(shù)里請(qǐng)求,b頁(yè)面用的數(shù)據(jù)b頁(yè)面的生命周期函數(shù)里請(qǐng)求
你需要知道JavaScript代碼是運(yùn)行在內(nèi)存中的,代碼運(yùn)行時(shí)的所有變量,函數(shù),也都是保存在內(nèi)存中的。
刷新頁(yè)面,以前申請(qǐng)的內(nèi)存被釋放,重新加載腳本代碼,變量重新賦值,所以這些數(shù)據(jù)要想儲(chǔ)存就必須儲(chǔ)存在外部,例如:Local Storage, Session Storage, IndexDB等。
這些是瀏覽器提供的API,讓你可以將數(shù)據(jù)儲(chǔ)存在硬盤(pán)上,做持久化儲(chǔ)存。具體選擇哪一個(gè)就根據(jù)你實(shí)際的需求來(lái)決定。
const ls = window.localStorage
// https://github.com/tsironis/lockr
export default {
getItem(key) {
try {
return JSON.parse(ls.getItem(key))
} catch (err) {
return null
}
},
setItem(key, val) {
ls.setItem(key, JSON.stringify(val))
},
clear() {
ls.clear()
},
keys() {
return ls.keys()
},
removeItem(key) {
ls.removeItem(key)
}
}
轉(zhuǎn)載于:https://www.cnblogs.com/llqwm/p/9152072.html
總結(jié)
以上是生活随笔為你收集整理的vue:vue页面刷新vuex数据消失问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: getpass 模块
- 下一篇: 【LOJ】#2014. 「SCOI201