vue——store全局存储

业务场景:刷新页面时,首次拉取所有配置,存储到store状态管理用于全局调用;

 

import Vue from 'vue'
import Vuex from 'vuex'
import userInfo from './modules/user'
Vue.use(Vuex)
export default new Vuex.Store({
  modules: {
    userInfo, // 用户信息:读取方式this.$store.state.userInfo.xxxx.xx
  },
  state: { // 初始状态或更新后的状态,读取方式:this.$store.state.businessInfo.id;
    businessInfo: {// 业务信息:省去了一层中间参数
      cname: '',
      ename: '',
      id: ''
    }
  },
  mutations: { // 更新状态内容:this.$store.commit('GET_CREDID_INFO', businessInfo);
    GET_BUSINESS_INFO (state, newInfo) {
      state.businessInfo = newInfo
    }
  },
  actions: { //触发状态更新,当需要更新多个状态的时候使用,如this.$store.dispatch('getBusinessInfo', newInfo);
    getBusinesInfo({ commit, state }, newInfo) {
      // commit('GET_USER_INFO', newInfo.userInfo)
    commit('GET_BUSINESS_INFO',newInfo.businessInfo) } } })

为避免状态命名重复,使用modules进行管理:

const state = {// 全局参数的初始状态
  credid: '', // 应用管理:配置、发布的credid
  data: null // 是否返回应用(特征)管理首页
}

const mutations = { // 更新全局状态
  SET_APP_CREDID (state, val) {
    state.credid = val
  },
  SET_APP_MANAGE (state, val) {
    state.data = val
  }
}
const actions = { // 可以不设置触发动作
  setAppManage ({ commit }, val) {
    commit('SET_APP_MANAGE', val)
  }
}

export default {
  state,
  mutations,
  actions
}

 

转载于:https://www.cnblogs.com/wheatCatcher/p/11169265.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值