vuex state刷新状态丢失

2018-09-28  本文已影响0人  卓小生

1、原因
因为store里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例,store里面的数据就会被重新赋值。
2、解决方案

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)

// 默认
const state = {
  name: localStorage.getItem("name"), //基本消息--姓名
}
// 事件
const mutations = {
  name(state, str) {//姓名
    localStorage.setItem("name", str);
    state.name = str;
  },
}
// 在加减之前 先加10
const getters = {}
// 异步
const actions = {
  setName(context,str){
    context.commit("name", str);
  }
}
export default new Vuex.Store({
  state,
  mutations,
  actions
})
import store from '@store/index.js'
export default {
  store,
  mounted(){
    this.$store.dispatch('setName','张三')
  }
}
import store from '@store/index.js'
export default {
  store,
  mounted(){
    console.log(this.$store.state)
    console.log(this.$store.state.name)
  }
}
上一篇 下一篇

猜你喜欢

热点阅读