刚体验了一下 Vuex ,下面是官方定义 store 的代码
// 如果使用模块系统,确保之前调用过 Vue.use(Vuex)
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment (state) {
state.count++
}
}
})
调用代码
store.commit('increment')
console.log(store.state.count) // -> 1
上面的代码确实我也实现了,也体验到了效果,但是问题是,如果是 spa 页面,也就没什么问题,但是如果 F5 刷新的话,数据又都变成 0 了,此时这个该怎么解决?用 vuex 提供的功能解决。
1
zhuangtongfa 2016-10-12 14:34:03 +08:00 via Android
用 localStorage 把状态存起来,再在状态初始化的时候判断 localstorage 里有没有这个值,有就赋值,没有就初始化为 0
|
2
anshengmecom OP @zhuangtongfa
我现在是前后端分离的开发环境,我是这样做的,每次路由跳转就发送 ajax 检查用户有没有登陆,如果没有登陆就返回 ajax 页面,如果登陆了,后台在 session 中获取到用户 ude 信息,再返回在前端的 ajax ,前端更新用户信息,哈哈,我简直就是天才。 |