Vuex学习

Vuex的学习

Mutation 提交风格

Mutation中的处理方式是将整个commit的对象作为payload使用,所以代码没有改变,依然如下:

Mutation响应式规则

Vuex的store中的state是响应式的,当state中的数据发生改变时,Vue组件会自动更新。

在这里插入图片描述

这就要求我们必须遵守一些对应的规则:

1.提前在store中初始化好所需要的属性
2.当给state中的对象添加新属性时,使用下面的方式:
方式一:使用Vue.set(obj,‘newProp’,123)
方式二:用新对象给旧对象重新赋值

Mutation传递参数

Mutation同步函数

通常情况下,Vuex要求我们Mutation中的方法必须是同步方法

1.主要原因是当我们使用devtools时,可以devtools可以帮助我们捕捉mutation的快照
2.但是如果是异步操作,那么devtools将不能很好的追踪这个操作什么时候会完成
3.你会发现state中的info数据一直没有被改变,因为他无法追踪到
**4.So,通常情况下,不要在mutation中进行异步操作**

Action的基本定义

Action的写法(对象解构)

在这里插入图片描述

我们强调,不要在Mutation中进行异步操作

但是某些情况,我们确实希望在Vuex中进行一些异步操作,比如网络请求,必然是异步的。这个时候怎么处理呢?
Action类似于Mutaton,但是是用来代替Mutation进行异步操作的

认识Module

Module是模块的意思,为什么在Vuex中我们要使用模块呢?

Vue使用单一状态树,那么也意味着很多状态都会交给Vuex来管理
当应用变得非常复杂时,store对象就有可能变得相当臃肿
当为了解决这个问题,Vuex允许问哦们将store分割成模块(Module),而每个模块拥有自己的state、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值