vue-element(三)使用vuex 管理全局数据

一、安装及引用

  • 1.安装
npm install vuex --save
  • 2.在main.js中引用
import Vue from 'vue'
import App from './App'
import router from './router'
import store from './store'

Vue.use(ElementUI)

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>',
  store
})
  • 3.新建模块
    新建一个用于管理环境变量的模块src/store/modules/env.js
const state = {
  envVariable: 'branch'
}

const mutations = {
  CHENGE_ENV: (state, env) => {
    if (env) {
      state.envVariable = env
    }
  }
}

const actions = {
  envVariable ({commit, state}, env) {
    commit('CHENGE_ENV', env)
  }
}

export default {
  state,
  mutations,
  actions
}
  • 4.在index.js文件中引用模块
import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
import env from './modules/env'

Vue.use(Vuex)

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

export default store
  • 5.在同级目录下创建getters.js
const getters = {
  envVariable: state => state.env.envVariable // 此处state.name , name与引入的模块名称相同
}
export default getters

  • 6.获取属性
this.$store.getters.envVariable
    1. 设置属性
// 对应的是模块中actions 设置的提交方法
this.$store.dispatch('envVariable', val)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容