vue2学习 -- vuex

1. 理解

  1. 概念:专门在ue中实现集中式状态(数据)管理的一个ue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适
    用于任意组件间通信。
  2. Github地址https://github.com/vuejs/vuex
    ❓什么时候使用Vuex
    • 多个组件依赖于同一状态
    • 来自不同组件的行为需要变更同一状态

在这里插入图片描述

2. 语法

2.1 安装使用

搭建vuex环境

  1. 安装插件

npm i vuex@3(默认为4版本,只能用于vue3,3版本为vue2版本)

  1. use插件

Vue.use(vuex)

在这里插入图片描述
在这里插入图片描述
如果出现以下报错,检查一下是不是写成了new Vue.Store({...}),应该是new Vuex.Store({...})
在这里插入图片描述

  • 组件中读取vuex中的据:store.state.sum
  • 组件中修改Vuex中的数据:Store.dispatch('actiont中的方法名',数据)Store.commit('mutations中的方法名',数据)
    备注:若没有网络请求或其他业务逻辑,组件中也可以越过actions,即不写dispatch,直接编写commit

2.2 getters配置项

store中的getters与组件中的computed类似,可以进行复杂的数据运算。
写法与computed也一样。

2.3 四个map方法的使用

  1. mapState方法:用于帮助我们映射state中的数据为计算属性
computed:{
	// 借助mapState生成计算属性:sum、school、subject(对象写法)
	...mapState({sum:'sum',school:'school',subject:'subject'}),
	//借助mapState生成计算属性:sum、school、subject(数组写法)
	...mapState(['sum','school','subject']),
},
  1. mapGetters方法:用于帮助我们映射getters中的数据为计算属性
computed:{
	// 借助mapGetters生成计算属性:bigSum(对象写法)
	...mapGetters({bigSum:'bigSum'}),
	// 借助mapGetters生成计算属性:bigSum(数组写法)
	...mapGetters(['bigSum'])
},
  1. mapActions方法:用于帮助我们生成与actions对话的方法,即:包含$store.dispatch(xxx)的函数
methods:{
	// 靠mapActions:生成:increment0dd、incrementWait(对象形式)
	...mapActions({incrementodd:'jiaOdd',incrementWait:'jiaWait'})
	// 靠mapActions生成:increment(0dd、incrementWait(数组形式)
	...mapActions(['jiaOdd','jiaWait']
}
  1. mapMutations方法:用于帮助我们生成与mutations对话的方法,即:包含$store.commit(xxx)的函数
methods:{
	// 靠mapActions生成:increment、decrement(对象形式)
	...mapMutations({increment:'JIA',decrement:'JIAN')),
	// 靠mapMutations.生成:JIA、JIAN(对象形式)
	...mapMutations(['JIA','JIAN']),
}

备注:mapActions与mapMutations使用时,若需要传递参数需要:在模板中绑定事件时传递好参数,否则参数是事件对象

2.4 vuex模块化

转载笔记📒:vuex模块化

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值