Vuex从了解到实际运用,彻底搞懂什么是Vuex(一)

什么是Vuex全局状态管理

一句话来说,Vuex全局状态管理是任意组件之间的通信的解决方案

Vuex实现原理

  • 借助于Vuex提供的单例,可供任意组件的调度
  • 它里面提供了一些对应的状态和方法,比如 state, getter, mutation, action, modules…

组件通信

为了帮助大家更好的去理解,下面举例几种组件通信的情况

多级组件通信

如下图:

在这里插入图片描述

1.组件App.vue想要给组件EmitterComponent.vue传值,那就需要使用Props进行属性传值,假如父组件给子组件传了data,子组件想要修改data的值,那就需要使用 $ emit自定义事件传值给父组件让其修改。简单来说就是“谁传值谁修改”
2.如果下面还有子组件,那从上往下传值需要一层一层的使用Props进行传值,从下往上也需要一层一层的使用 $ emit自定义事件传值。props和 $ emit自定义事件传值能满足大部分情况下的传值操作,但是有些情况会很麻烦

同级组件通信

如下图,只使用props和 $ emit 进行同级组件通信

在这里插入图片描述
1.下面两个组件想要进行通信的时候,就需要第一个组件先使用$ emit传值给父组件,再有父组件通过Prop传值给第二个组件。如果下面有很多层子组件的时候会非常的麻烦。、

使用Vuex进行组件通信

如下图,使用Vuex进行组件通信

在这里插入图片描述

1.谁想要data的值都能直接访问Vuex实现,并且谁修改了Vuex中data的值进行了修改,都会进行一个监听,用过这个data的组件都会进行更新

所以Vuex的一个核心意义总结来说:我们可以把很多组件需要用到的一个属性抽离出来放到Vuex中作为一个全局的属性可供任意组件使用。

在这里插入图片描述

关注我,后面会继续为大家介绍,组件如何从Vuex中获取,修改值的一系列操作

猜你喜欢

转载自blog.csdn.net/weixin_45745641/article/details/126394457