vue中状态管理vuex的使用分享

一、main.js中引入 store

  import store from './store'
  window.HMO_APP = new Vue({
router,
store,
render: h => h(App)
}).$mount('#app-box')

二、新建store文件夹

  index.js为入口js文件

  

import Vue from 'vue'
import Vuex from 'vuex'
import user from './modules/user'
import getters from './getters'

Vue.use(Vuex)

const store = new Vuex.Store({
modules: {
user
},
getters
})

export default store



三、新建user.js文件夹,用户保存信息



user.js文件

import $ajax from '../../utils/fetch'
const user = {
state: {
info: '', // 用于保存用户信息

},

mutations: {
SET_USER_INFO: (state, info) => {
state.info = info
},

},

actions: {
setUserInfo ({commit}, info) {
commit('SET_USER_INFO', info)
},
loginBySession ({commit, state, dispatch}) {
return new Promise((resolve, reject) => {
$ajax.get('/denglujiekou', data => {
dispatch('setUserInfo', data)
resolve(data)
}, err => {
reject(err)
})
})
},

}
}

export default user
 

四、新建getter.js文件夹,用户获取状态管理里面的信息

const getters = {
userInfo: state => state.user.info,

}
export default getters

五、js中使用store方法

 
import store from '../store/index'
store.getters.idInfo



原文地址:https://www.cnblogs.com/shuihanxiao/p/10300406.html