網頁刷新後Vuex數據丟失或者恢復了默認值,我們可以通過localStorage來組合使用。
在store文件夾的index文件裏面
1、首先我們在改變Vuex裏面值的時候,在localStorage也存一份,在使用Vuex取值的時候優先在localStorage裏面取值。
2、但是某些瀏覽器可能不支持localStorage,所以要try catch一下,有一點要特別注意的是,try catch的catch和後面的(e)之間有個空格一定不能忘,否則會報錯。
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
let defaultCity = '上海'
try {
if (localStorage.city) {
defaultCity = localStorage.city
}
} catch (e) {}
export default new Vuex.Store{
changeCity (state, city) {
state.city = city
try {
localStorage.city = city
} catch (e) {}
}
}