vuex的模块化使用

首先下载vuex

npm i vuex

在src下新建store
新建home/index.js

//home模块的小仓库

const state = {
    b:1,
    c:3,
};

const mutations = {};

const actions = {};

const getters = {};

export default {
    state,
    mutations,
    actions,
    getters
}

新建search/index

const state = {
    c:2
};

const mutations = {};

const actions = {};

const getters = {};

export default {
    state,
    mutations,
    actions,
    getters
}

在store/index.js中进入这几个小的模块

import Vue from 'vue';
import Vuex from 'vuex';
//需要使用插件一次
Vue.use(Vuex);

// //state 仓库存储数据的地方
// const state = {
//     count:1
// };
// //mutations 修改state的唯一手段
// const mutations = {
//     ADD(state){
//         state.count++
//     }
// };
// //actions:处理actions 可以书写自己的业务逻辑 也可以处理一部请求
// const actions = {
//     //这里可以书写业务逻辑 但是不能修改store
//     add({commit}){
//         commit("ADD")
//     }
// };
// //getters: 理解为计算属性 用于简化仓库数据 让组件获取仓库的数据更加方便
// const getters = {};
 

//引入小模块
import home from './home'
import search from './search';

//对外暴露Store类的一个实例
export default new Vuex.Store( {
    //实现vue仓库模块式开发存续数据
    modules:{
        home,
        search
    }
});

在main.js中注册全局

//引入仓库
import store from '../src/store/index'
new Vue({
  render: h => h(App),
  //注册仓库 组件实例身上会多了一个属性 $store
  store,
  //注册路由
  router
}).$mount('#app')

这样就可以在相应的组件中利用辅助函数进行获取数据


//辅助函数
// import { mapState} from 'vuex';

    computed:{
        ...mapState(['a'])
    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值