快速了解VUEX。为什么要用vuex

VUEX是什么?

vuex是vue框架中的状态机,通俗一点vuex是个专门管理数据的仓库。

VUEX主要有哪些属性?

vuex主要有5个属性,state、getter、action、mutation、module

state是什么?

vuex中的state里面存放数据源,state里面存放的数据是响应式的,如果仓库里的数据发生变化,那依赖这个数据的组件也会发生更新。

怎么做到的??????????

通过mapState把state映射到组件中的计算属性(computed)中,仓库的数据一变,组件映射的数据也会跟着一起变。

getter是什么?

vuex中的getter可以对state中的数据进行处理,相当于state的计算属性,同样可以使用vuex的mapgetter将getter映射到组件的computed中。

mutation是什么?

在vuex中想要更改state中数据的状态的唯一方法就是提交mutation,例如我们要更新更改state中的数据就要使用到mutation,但mutation是同步的,当我们需要进行异步操作的话我们需要使用到action属性。

action是什么?

action的目的也是更改state的状态,不一样的是,action提交的就是mutation,但实现了异步操作。总而言之,同步的话可以直接提交mutation,异步就用action提交mutation。

怎么使用mutation和action??

可以用mapAction将写好的方法映射到组件中的method中

小结

state相当于组件的data
getter相当于数据的计算属性
mutation和action相当于用来更改数据的方法

既然组件有data,有计算属性,也能写方法改数据,为什么要用vuex?

从组件角度来看,如果组件要管理要维护的数据不多,我们可以不用vuex,但需要管理的数据一多,组件代码就很杂乱(毕竟组件还要写组件自身的内容),再者如果两个组件都需要同一个数据,那在两个组件里面就要写两次。所以不如把数据放到仓库里管理,组件里写组件的内容,管理数据交给VUEX来完成。在后期对数据进行维护的时候我们只需要到仓库里修改就行。

总结三点:

如果不用vuex,
1.可维护性会下降,想修改数据要维护三个地方;
2.可读性会下降,因为一个组件里的数据,根本就看不出来是从哪来的;
3.耦合度会增加;

ps:不要为了用vuex而用vuex

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值