Vuex模块化配置
记录学习开发中碰到的Vuex模块化开发及使用
基于vue-cli开发
1.安装并使用vuex,这里安装的是3以上的版本,4的配置项不同
npm install vuex@3.x --save
2.配置 /store/index.js 总仓库
import Vue from 'vue';
import Vuex from 'vuex';
//vuex 模块式开发
Vue.use(Vuex);
/* 引入小仓库 */
import home from './home'
import search from './search'
//对外暴露store类的一个实例 Store要大写
export default new Vuex.Store({
//实现Vuex仓库模块式开发存储数据
modules:{
home,
search
}
});
3.配置模块独立仓库 也就是在store下新建各个组件自己的仓库配置,
比如在/store/home/index.js,然后通过总仓库modules引入总仓库管理
//state : 仓库存储数据的地方
const state = {};
//mutations :修改state的唯一手段
const mutations = {};
//actions 处理actions,可以写自己的业务,也可以处理异步
const actions = {};
//getters: 理解为计算属性,用于简化仓库数据,让组件获取仓库数据更加方便
const getters = {};
export default {
state,
mutations,
actions,
getters,
}
4.在main.js中注册Store.让组件实例上带有$store属性
import Vue from 'vue'
import App from './App.vue'
/* 引入路由 */
import router from '@/router'
引入仓库
import store from './store';//
import TypeNav from '@/components/TypeNav';
/* 将三级联动菜单组件注册为全局组件 */
Vue.component(TypeNav.name,TypeNav)
new Vue({
render: h => h(App),
//注册路由信息,当这里书写router的时候,组件身上都拥有了$router,$route属性
router,
//注册store,组件身上多了$store属性
store,
}).$mount('#app')
至此vuex 模块化开发配置完成