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

时间:2022-02-14 14:51:05

一、main.js中引入 store

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

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

二、新建store文件夹
vue中状态管理vuex的使用分享

  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文件夹,用户保存信息

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


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文件夹,用户获取状态管理里面的信息
vue中状态管理vuex的使用分享

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

五、js中使用store方法 vue中状态管理vuex的使用分享
 
import store from '../store/index'
store.getters.idInfo