思路:

关于 vuex模块化应该如何去实现?

第一步:在 store 的文件夹里的index.js 里进行引入vue 和vuex  ,其次 引入新建的文件,记得在modules 里去注册模块,

第二步:在新建的文件里命名空间的模块化,在state 声明一个空的数组,用于存放数据来着,在放一个默认的数据,count:0,在getters 里进行获取状态等等;
    第三步:在需要获取页面的里边进行操作;用mapGetters 辅助函数来进行引入vuex等等

第一步: 在store /index.js

import Vue from 'vue'
import Vuex from 'vuex'

import cart from './modules/cart'; //在store的文件夹下新建一个modules/cart.js模块

Vue.use(Vuex)

export default new Vuex.Store({
  modules: {
    cart, //引用cart模块
  }
})

第二步:在store 文件夹下,新建一个 modules/cart.js模块

export default {
    namespaced: true,  //便于维护需要设置namespaced为true,使其成为带有命名空间的模块
    state:{
        cartList: [],
        count: 0,
    },
    getters:{
        getCount(state){ //设置状态
            return state.count       
        }
    },
    mutations:{

    },
    actions:{

    }
}

第三步;在需要获取的页面进行操作

<template>
  <div>
    <h4>page页面获取cart模块数据:{{getCount}}</h4>
  </div>
</template>
import {mapGetters} from 'vuex'; //引进mapGetters
export default{
    computed:{
        ...mapGetters('cart',['getCount']) //第一个参数是哪个模块,第二个参数是要获取的数据    
    },
}

Logo

前往低代码交流专区

更多推荐