VUE2 封装 VUEX 全局

在store文件夹下创建index.js

import Vue from 'vue'
import Vuex from 'vuex'
import app from './modules/app'

Vue.use(Vuex)

const store = new Vuex.Store({
  modules: {
    app
  }
})

export default store

在store/moudules文件夹下创建app.js

const state = {
  test: 'test',
}

const mutations = {
  TEST: (state, test) => {
    state.test= test
  }
}

const actions = {
  toggleTest({ commit }, test) {
    commit('TEST', test)
  }
}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}

在main.js中引入并添加至vue的实例化中

import store from "./store";

//...此处省略

new Vue({
  el: "#app",
  router,
  store,
  render: (h) => h(App),
});

在vue中直接使用

<template>
  <div>
    {{ $store.state.app.test }}
  </div>
</template>

<script>
export default {
  mounted() {
    console.log('vuex中存储的test', this.$store.state.app.test)
  },
};
</script>

多个vuex的js文件,将$store.state.app.test中的app改为user,test改为自己定义的参数即可

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

Vue.use(Vuex)

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

export default store

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值