Vue学习笔记-模块化+命名空间

目的

让代码更好维护,让多种数据分类更加明确(不同的模块挤在一个index.js中显得臃肿且不方便管理)

实现方式

  1. 修改store/index.js(也可以将不同模块分别写在不同的js文件中)

    javascript 复制代码
    const countAbout = {
    	//开启命名空间
        namespaced:true,
        actions:{
        	......
        },
        mutations:{
            ......
        },
        state:{
            sum:0,
        },
        getters:{
            bigSum(state){
                return state.sum*10
            }
        }
    }
    
    const personAbout = {
    	namespace = true,//开启命名空间
    	state = {
    		list:[xxx]
    	},
    	mutations = {...},
    	actions = {...}
    }
    
    const store = new Vuex.Store({
    	modules:{
    		countAbout,
    		personAbout
    	}
    })
  2. 开启命名空间后,组件读取各个模块的state数据

    javascript 复制代码
    //方式一:直接读取
    this.$store.state.countAbout.sum
    //方式二:借助mapState读取
    ...mapState('countAbout',['sum',...])
  3. 组件读取各个模块的getters数据

    javascript 复制代码
    //方式一:直接读取
    this.$store.getters['personAbout/firstPersonName']
    //方式二:借助mapGetters读取
    ...mapGetters('personAbout',['firstPersonName'])
  4. 组件调用dispatch

    javascript 复制代码
    //方式一:直接调用
    this.$store.dispatch('personAbout/addPerson',value)
    //方式二:借助mapActions
    ...mapActions('personAbout',{addPerson:'addPerson'})
  5. 组件调用commit

    javascript 复制代码
    //方法一:直接调用
    this.$store.commit('personAbout/ADD_PERSON',value)
    //方式二:借助mapMutations
    ...mapMutations('personAbout',{ADD_PERSON:'ADD_PERSON'})

注意:mapActions和mapMutation中无法填写函数参数,需要在html组件的@click方法声明中自己填写

相关推荐
Amazing_Cacao4 小时前
CFCA精品可可产区风土体系(亚洲):彻底拒绝应试背诵,将感官复核作为检验真实物理差异的唯一铁律
学习
谙弆悕博士7 小时前
信息系统项目管理师教程(第4版)笔记——第 2 章 信息技术发展
笔记·职场和发展·软考高级·软考·高项·项目经理
浅水壁虎9 小时前
vue基础(第二章 )
前端·javascript·vue.js
wp123_19 小时前
【硬件选型笔记】TONEVEE MVL4020-1R2M 与Coilcraft XAL4020-122MEC 大电流功率电感参数深度解析
笔记
aaaameliaaa9 小时前
指针之总结
c语言·笔记·算法
caimouse10 小时前
protoc-gen-c 支持 proto3 `optional` 关键字修改记录
c语言·学习
撩得Android一次心动10 小时前
Linux编程笔记3【个人用】
linux·笔记
憧憬成为java架构高手的小白10 小时前
黑马八股--中间件学习之MQ(RabbitMQ)
学习·中间件
腻害兔10 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:CRM 客户关系模块深度解析——从线索到回款,一套完整的 B2B 销售闭环是怎么搭的?
java·前端·javascript·vue.js·产品经理·ai编程
撩得Android一次心动12 小时前
Linux编程笔记4【个人用】
linux·笔记·学习