当前位置: 首页 > news >正文

VueX快速入门(适合后端,无脑入门!!!)

文章目录

    • 前言
    • State和Mutations
      • 基础
      • 简化
    • getters
    • Mutations
    • Actions(异步)
    • Module
    • 总结


前言

作为一个没啥前端基础(就是那种跳过js直接学vue的那种。。。)的后端选手。按照自己的思路总结了一下对VueX的理解。大佬勿喷qAq。

首先我们需要明确一个点,引入VueX的使用只是用来保存和操作全局变量的。类似于后端用ThreadLocal来保存当前线程的变量
相关链接Vue官网

首先我们先来了解VueX当中的五个属性:对于快速入门的选手而言,我们只需要了解前四个属性就好了,然后优先了解其中的Satae和Mutation就行
在这里插入图片描述

这里先扔一张图,就是混个眼熟,后面会再提到
在这里插入图片描述

State和Mutations

基础

State就是用来保存全局变量的值的,比如我们可以往里面定义值;
Mutations就是用来改变state当中定义的值的,我们可以往里面定义方法来改变state的值;

下面在State当中定义了一个变量count,在Mutations当中定义了一个方法increment()对state当中的变量count进行+1操作
在这里插入图片描述

这里的this.store理解为固定写法,如果我们要使用VueX的相关操作的话,就要先写上this.$store。

我们用this.$store.state.count直接获取到了state当中count属性的值,然后写了个按钮调用add()方法.

在add()方法中。我们要调用Mutations的increment方法,我们就使用this.$store的.commit(“increment”)方法,传入的increment参数就是Mutations的increment()方法

在这里插入图片描述

点击一下,数字+1
在这里插入图片描述
当然也可以传参,比如每次+2
在这里插入图片描述

简化

你可以类比后端的lambda表达式来简化操作。看不懂就算了,记住可以这么写就行。

1、我们使用计算表达式computed定义一个count()方法替代{{this.$store.state.count}}这一串
在这里插入图片描述
2、可以使用mapState进一步简化computed
在这里插入图片描述


简化的代码看不懂没关系,记住就这么写就行。QwQ)
(入门的话看完上面两个就行了,接下来两个属性都用最简化的方式了(因为可以少写代码,只要记住这种写法就行,别问为啥)


getters

getters可以理解为对state里的值做预处理,下面当中的getters就是对todos列表做了个过滤(done为true)

下面在state当中又定义了一个列表todos,现在一共两个全局变量了。count和todos,先看上面四个箭头,我们用…mapState直接把全局变量展示到了页面。

而下面两个箭头,左边在getters里我们用doneTodos方法预处理了一下state里的todos列表,只要done为true的,然后右边箭头我们用…mapgetters获取了getters预处理后的结果

在这里插入图片描述

运行结果如下
在这里插入图片描述

Mutations

不知道刚刚的简化有没有看懂,看懂的话,你就会发现state有 …mapState,getters有…mapGetters,那么mutations有没有…mapMutations呢?也是有的,因此我们再来简化。
注意我把原来的写法注释掉了,现在看看框起来的两部分,是不是很类似,也很简洁。
在这里插入图片描述

Actions(异步)

例如这张图,值得注意的一点是,我们是通过Mutations来改变state的值,因此使用Actions来commit到Mutations然后在Mutations里面修改stated的值。
在这里插入图片描述
还有一点是同步是用this.store.commit而异步是用this.store.commit而异步是用 this.store.commit而异步是用this.store.dispatch
在这里插入图片描述
在这里插入图片描述

Module

这个可参考我的另一篇文章:若依项目学习23(前后端分离版)——前端登录整体数据流程分析(Vue2)

总结

我们在回来看这张图:组件可以获取state的值(全局变量),但是想要修改值时需要通过Actions(异步,也是通过Mutations来修改state的值,要先commit到Mutations),Mutations(同步,修改state的值)。当然,可以通过getters获取预处理过的state里的值(全局变量)
在这里插入图片描述

http://www.lryc.cn/news/40541.html

相关文章:

  • 前列腺癌论文笔记
  • Python+Yolov5道路障碍物识别
  • 全新升级,EasyV 3D高德地图组件全新上线
  • 从管理到变革,优秀管理者的进阶之路
  • 安装Anaconda3
  • HTTPS,SSL(对称加密和非对称加密详解)
  • 【数据结构】还不懂算法复杂度?一文带你速解
  • 案例描述:update中,MySQL inner join 和 left join的区别,小结果集驱动大结果集
  • CF1784D Wooden Spoon
  • 【数据结构】栈
  • C++单继承和多继承
  • 金三银四,今年企业招聘如何?
  • 数字信号处理:滤波、频谱
  • C#等高级语言运行过程
  • 如何优雅的用POI导入Excel文件
  • 【AI 工具】文心一言内测记录
  • Github的使用
  • 抽丝剥茧还原真相,记一次神奇的崩溃
  • 学习笔记八:docker资源配额
  • 小米10s格机修复 nv报错案例解析 关于基带分区的一些常识
  • 【3.17】MySQL索引整理、回溯(分割、子集问题)
  • 转解疑难杂症,详解vector迭代器失效和深浅拷贝的问题
  • 质量工具之头脑风暴法
  • 【3】核心易中期刊推荐——人工智能计算机仿真
  • vFlash软件简介
  • mysql-online-ddl是否需要rebuild
  • 力扣-超过经理收入的员工
  • 决策树基础知识点解读
  • 【C++】入门知识之 命名空间与输入输出
  • redis持久化的几种方式