vue笔记六:vuex状态管理


一、初识vuex

1、什么是vuex
在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。
在这里插入图片描述
☆状态:数据
without vuex:父子传递   with vue:数据存入store
在这里插入图片描述
store钩子函数是在vuex下,实例化vuex实质是实例化store
在这里插入图片描述

2、vuex的下载和安装
在这里插入图片描述
在这里插入图片描述
☆计算属性是个方法,只不过在用的时候是个属性。
状态映射
mapGetters方法:用于帮助我们映射getters中的数据为计算属性
mapActions方法:用于帮助我们生成与actions对话的方法,即:包含$store.dispatch(xxx)的函数
mapMutations方法:用于帮助我们生成与mutations对话的方法,即:包含$store.commit(xxx)的函数
备注:mapActions与mapMutations使用时,若需要传递参数需要:在模板中绑定事件时传递好参数,否则参数是事件对象。

在这里插入图片描述
在这里插入图片描述
组件中读取vuex中的数据: s t o r e . s t a t e . s u m 组 件 中 修 改 v u e x 中 的 数 据 : store.state.sum 组件中修改vuex中的数据: store.state.sumvuexstore.dispatch(‘action中的方法名’,数据) 或 $store.commit(‘mutations中的方法名’,数据)
备注:若没有网络请求或其他业务逻辑,组件中也可以越过actions,即不写dispatch,直接编写commit

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
npm install vuex@3.1.1 --save
在这里插入图片描述
Vue.use安装vuex
export default暴露store方便外部引用
在这里插入图片描述
components:导入模板
template:使用模板
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3、计数器案例
在这里插入图片描述
形参state
在这里插入图片描述
在这里插入图片描述
4、vuex状态管理模式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、vuex配置选项

1、actions
在这里插入图片描述
mutations通过commit触发,actions通过dispatch触发
context(上下文)是store对象
param跟commit是一模一样的???(不是很懂)

actions中处理异步,延迟调用
在这里插入图片描述
在这里插入图片描述
2、mutations
在这里插入图片描述
在这里插入图片描述
通过commit第二个参数进行参数传递,通过mutations的第二个参数进行接收。
第二种传参方式:
在这里插入图片描述
此时param接收整个commit内容对象
在这里插入图片描述
在这里插入图片描述
3、getters
在这里插入图片描述
调用getters方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4、modules
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对store.state.a的理解:
在这里插入图片描述
在这里插入图片描述
5、plugins
在这里插入图片描述
在这里插入图片描述
6、devtools
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、vuex中的API

1、模块注册
在这里插入图片描述
registerModule只能在store中使用
在这里插入图片描述
在这里插入图片描述
modules只能在实例化选项的时候添加,而registerModule对于任何可以拿到store的实例来说都可以使用。
2、状态替换
在这里插入图片描述
在这里插入图片描述

四、购物车案例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
<router-view/>(路由占位符)进行占位
在这里插入图片描述
@指src文件夹
暴露与回调函数
getGoodsList模拟网络请求
在这里插入图片描述
namespaced:命名空间
在这里插入图片描述
调用setList:
在这里插入图片描述
分模块的数据需要加上模块名:
在这里插入图片描述
在这里插入图片描述
toFixed(2):保留两位小数
在这里插入图片描述
课后题:
1.请简要分析 Vuex 的设计思想。

用来管理状态,Vuex 作为 Vue 插件来使用,使 Vue 组件状态更加容易维护

2.简述 Vuex 配置对象中的主要内容有哪些。

1). actions:用来定义事件处理方法,用于处理 state 数据

2). mutations:选项中的事件处理方法接收 state 对象作为参数,即初始数据

3). getters:store 实例允许在 store 中定义 getters 计算属性,类似于 Vue 实例的 computed

4). modules:modules 用来在 store 实例中定义模块对象

5). plugins:Vuex 中的插件配置选项为 plugins,插件本身为函数

6). devtools:store 实例配置中的 devtools 选项用来设置是否在 devtools 调试工具中启用 Vuex,默认值为 true,表启用

3.简述 Vuex 中的 actions 的含义。

actions 选项用来定义事件处理方法,用于处理 state 数据。actions 类似于 mutations,不同之处在于 actions 是异步执行的,事件处理函数可以接收 {commit} 对象,完成 mutation 提交,从而方便 devtools 调试工具跟踪状态的 state 变化。

在使用时,需要在 store 仓库中注册 actions 选项,在里面定义事件处理方法。事件处理方法接收 context 作为第1个参数,payload 作为第 2 个参数(根据需要进行选择)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值