前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「后端小伙伴来学前端了」Vuex原理图分析及结合生活案例让大家快速理解

「后端小伙伴来学前端了」Vuex原理图分析及结合生活案例让大家快速理解

作者头像
宁在春
发布2022-10-31 15:37:31
4610
发布2022-10-31 15:37:31
举报
文章被收录于专栏:关于Java学习@宁在春
在这里插入图片描述
在这里插入图片描述

来自一名超级美的学妹:🍉Sunday🍉

前言

上篇文章说了为什么在vue中有了全局事件总线还要引入vuex的问题,这篇着重讲Vuex的原理图,知道原理图才能够明白如何去书写Vuex的代码。

一、原理图

image-20211121155153699
image-20211121155153699

来自于Vuex官网

从图中我们可以看到,vuex中有Actions、Mutations、State三个对象,先从字面意思上理解下哈

  1. Actions:翻译过来即为动作、行为的意思
  2. Mutations:翻译过来有变化、转变的意思
  3. State:翻译过来就是状态的意思,这里的状态其实就是数据的意思。

另外他们三个全部都是Object对象{}


我们拿一个自加的案例来走一遍这个原理图的流程,让大家更快的理解。

image-20211121164425218
image-20211121164425218

偷了点懒,不想重画这张图,就在原图上操作啦(手动狗头保命😁)

完整流程大致就是这八步。至于还没说的backend API和Devtools ,后面有说滴。

思考

大家有没有觉得Actions所处的位置比较尴尬丫,因为就是转交一下,并没啥其他的作用啊。

其实在Vuex中,是允许Vue Components 直接调用commit api的,即如下

image-20211121165501818
image-20211121165501818

我讲到这里,可能大家更觉得actions没啥用啦,其实是有的,还记得我之前没说的backend API

其实backend API 是另一台服务器。

意思就是当我们调用了dispatch(zijia)时,并不知道要自加你,这个时候,我们就在actions中向另一台服务器发送请求,问它我们要自加几。所以这个时候actions还是有用的。存在必会有存在的价值。


Devtools

这里也顺带说一下吧,意思就是能够在vue-devtools的调试工具里,看到数据的全部变化,以及修改的历史记录

下面再来通过一个生活案例来对这个图进行一个理解性记忆吧。


对了稍稍补充一下,其实在vuex的这个官方图,还少了一点点东西只过它在图中用vuex来表示了。

image-20211121180418058
image-20211121180418058

actions、mutations、state这三个对象都被store都管着,多这么个领导者是为了更好的状态管理,因为后面会变得越来越复杂。

二、生活案例理解

我们将流程中参与的四个对象分别形象的比喻为客人、服务员、后厨、菜肴,将vuex整体比喻为大酒店

image-20211121172311795
image-20211121172311795

流程解释:

  1. 客人来到vuex中,客人和服务员说要点xxxx、xxx菜(调用dispatch API,即派发到actions)。
  2. 服务员(actions)接收到请求后,再将客人点的菜名提交给(commit())给后厨团队。
  3. 后厨接收到服务员提交过来的菜名,就开始进行制作(即更新数据),然后通过mutate(自动触发)传递到State中。
  4. 菜肴制作好后,通过render渲染,送到客人面前(更新视图)

再假如你和后厨的xdm玩的特别好,特别熟悉,你下次来的时候,就直接越过了服务员,直接和后厨的哥们说,今天还是老样子,后厨的兄弟就懂了。

再或者还有下面的这样情况:

你来到大酒店想直接去找后厨的兄弟,但是最近菜单更新了,服务员拦住你说,我们店的菜肴更新了,你必须要跟我说一下,你要吃什么,才好给你上菜。(菜肴更新了就是向另外一台服务器请求数据的意思)。


希望通过这个小案例,能够让大家更好的记忆。

后语

大家一起加油!!!如若文章中有不足之处,请大家及时指出,在此郑重感谢。

纸上得来终觉浅,绝知此事要躬行。 大家好,我是博主宁在春主页 一名喜欢文艺却踏上编程这条道路的小青年。 希望:我们,待别日相见时,都已有所成

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、原理图
  • 二、生活案例理解
  • 后语
相关产品与服务
事件总线
腾讯云事件总线(EventBridge)是一款安全,稳定,高效的云上事件连接器,作为流数据和事件的自动收集、处理、分发管道,通过可视化的配置,实现事件源(例如:Kafka,审计,数据库等)和目标对象(例如:CLS,SCF等)的快速连接,当前 EventBridge 已接入 100+ 云上服务,助力分布式事件驱动架构的快速构建。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档