Vuex使用

Vuex

一、概述

二、State

存放状态的

1、创建state
const state = {title: '我是一个标题',content: '今天的天气是好的',age: 2,
};
2、使用
  • 直接在页面直接使用

    //非模块化写法
    <div>{{ $store.state.title }}</div>
    //模块化写法
    <div>{{ $store.state.about.title }}</div>
    
  • 通过计算属性获取

    computed: {getTitle() {//非模块化写法return this.$store.state.title//模块化写法:about是模块名return this.$store.state.about.title}
    }
    

    在页面使用

    <div>{{ getTitle }}</div>
    
  • 在计算属性中通过mapState辅助函数获取(推荐使用)

    • 如果store不是模块化的:
    computed: {...mapState(['title', 'content', 'age'])
    }
    
    • 如果store是模块化的:
    computed: {...mapState('about', ['title', 'content', 'age'])
    }
    

    about是模块名称

三、Getters

1、创建无参的getters
const getters = {doubleAge(state) {return state.age * 2;}
}
2、创建携带参数的getters
const getters = {addValue: state => value => {return state.age + value;}
}
3、使用getters
  • 在计算属性中获取
computed: {getDoubleValue() {//非模块化写法return this.$store.getters['doubleAge']//模块化写法:about是模块名return this.$store.getters['about/doubleAge']}
}
  • 在计算属性中通过mapGetters辅助函数获取(推荐使用)
computed: {...mapGetters('about', ['doubleAge', 'addValue'])
}

在页面中使用无参函数

 <div>{{ doubleAge }}</div>

在页面使用有参数函数

<div>{{ addValue(10) }}</div>

在代码中使用无参函数

this.doubleAge()

在代码中使用有参函数

this.addValue(10)

四、Mutation

  1. 同步操作: Mutations 是用来修改 Vuex 的状态的唯一方式,它们是同步操作。
  2. 直接修改状态: Mutations 中的函数接收当前的状态作为第一个参数,并且可以接收一个额外的载荷参数来进行状态的修改。
  3. 跟踪变化: 由于 mutations 是同步执行的,因此它们很容易被调试工具跟踪,可以清晰地看到状态是如何被修改的。
1、创建无载荷的mutation
const mutations = {addTitle(state) {state.title = '我是新的标题';}
};
2、创建有载荷的mutation

const mutations = {addTitle(state,payload) {state.title = '我是新的标题'+payload;}
};
3、使用
  • 直接使用
//提交无载荷methods: {addTitle() {//非模块化写法this.$store.commit('addTitle')//模块化写法:about是模块名this.$store.commit('about/addTitle')}},//提交有载荷(载荷一般是对象,这样可以传入多个值)methods: {addTitle() {//非模块化写法this.$store.commit('addTitle', "我是新标题呀!!!")//模块化写法:about是模块名this.$store.commit('about/addTitle', "我是新标题呀!!!")}},
  • 通过mapMutation辅助函数(推荐使用)
//无参methods: {//非模块化写法...mapMutations(['addTitle'])//模块化写法:about是模块名...mapMutations('about', ['addTitle'])updateTitle(){this.addTitle()}}
//有参methods: {//非模块化写法...mapMutations(['addTitle'])//模块化写法:about是模块名...mapMutations('about', ['addTitle'])updateTitle(){this.addTitle("@163.com")}}

五、Action

  1. 异步操作: Actions 用于处理异步操作,例如从服务器获取数据、延迟调用 mutations 等。
  2. 包含业务逻辑: Actions 可以包含任意异步操作和复杂的业务逻辑,然后再去提交 mutations 来修改状态。
  3. 提交 Mutations: 在 actions 中可以通过 commit 方法提交 mutations,以实现状态的修改。
1、创建
const actions = {updateContent1({ commit }) {commit('setContent', '¥¥¥¥¥')},updateContent2({ commit }, newContext) {commit('setContent', newContext)}
};
2、使用
  • 直接使用
  methods: {setContent() {//非模块化写法this.$store.dispatch('updateContent1')//模块化写法:about是模块名this.$store.dispatch('about/updateContent1')}}
  • 通过mapAction辅助函数(推荐使用)
 	//非模块化写法...mapActions(['updateContent1', 'updateContent2']),//模块化写法:about是模块名...mapActions('about', ['updateContent1', 'updateContent2']),setContent1() {this.updateContent1()},setContent2() {this.updateContent2("$$$$$$$")}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/683260.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端秘法基础式(HTML)(第二卷)

目录 一.表单标签 1.表单域 2.表单控件 2.1input标签 2.2label/select/textarea标签 2.3无语义标签 三.特殊字符 一.表单标签 用来完成与用户的交互,例如登录系统 1.表单域 <form>通过action属性,将用户填写的数据转交给服务器 2.表单控件 2.1input标签 type…

【30秒看懂大数据】数据中台

知幽科技是一家专注企业数字/智化&#xff0c;围绕数据价值应用的一站式数智化解决方案的咨询公司&#xff0c;也包括了为企业提供定制化数据培训&#xff0c;力求做企业最好的数智化决策伙伴。 点击上方「蓝字」关注我们 30秒看懂大数据专栏 让您在有限的碎片化时间&#xf…

六、Mybatis注解开发

1.MyBatis的常用注解 注解开发越来越流行&#xff0c; Mybatis也可以使用注解开发方式&#xff0c;这样就可以减少编写Mapper映射文件。Insert&#xff1a;实现新增Update&#xff1a;实现更新Delete&#xff1a;实现删除Select&#xff1a;实现查询Result&#xff1a;实现结果…

(09)Hive——CTE 公共表达式

目录 1.语法 2. 使用场景 select语句 chaining CTEs 链式 union语句 insert into 语句 create table as 语句 前言 Common Table Expressions&#xff08;CTE&#xff09;&#xff1a;公共表达式是一个临时的结果集&#xff0c;该结果集是从with子句中指定的查询派生而来…

DS:二叉树的顺序结构及堆的实现

创作不易&#xff0c;兄弟们给个三连&#xff01;&#xff01; 一、二叉树的顺序存储 顺序结构指的是利用数组来存储&#xff0c;一般只适用于表示完全二叉树&#xff0c;原因如上图&#xff0c;存储不完全二叉树会造成空间上的浪费&#xff0c;有的人又会问&#xff0c;为什么…

Docker之Oracle-XE版本安装

Docker之Oracle-XE版本安装 文章目录 Docker之Oracle-XE版本安装1. docker中安装Oracle11gR2-XE1. 拉取镜像2. Quick Start(快速开始)3. 快速安装案例1. 运行docker容器2. 创建用户与授权3. 导出备份数据 1. docker中安装Oracle11gR2-XE dockerhub参考地址: https://hub.docker…

linux 09 软件安装,YUM

下载软件时候&#xff0c;windows会从网上下载exe文件。 windows中的exe文件linux中的rpm文件 简介部分&#xff1a; 其中的认识RPM包&#xff1a; YUM&#xff08;软件包管理工具&#xff09; 01.YUM工具简介 02.使用YUM 第一 安装YUM 全新安装&#xff1a; 01.先pin…

linux系统zabbix监控配置钉钉告警

zabbix配置钉钉告警 配置钉钉告警环境准备配置钉钉脚本文件钉钉日志目录编写脚本浏览器配置钉钉告警中文消息告警模版为用户添加报警媒介添加监控项》添加触发器》 添加玩监控项和触发器后添加动作 配置钉钉告警 环境准备 创建钉钉内部群创建自定义机器人记录加签地址和webho…

Web安全研究(六)

文章目录 HideNoSeek: Camouflaging(隐藏) Malicious JavaScript in Benign ASTs文章结构Introjs obfuscationmethodologyExample HideNoSeek: Camouflaging(隐藏) Malicious JavaScript in Benign ASTs CCS 2019 CISPA 恶意软件领域&#xff0c;基于学习的系统已经非常流行&am…

DS:二叉树的链式结构及实现

创作不易&#xff0c;友友们给个三连吧&#xff01;&#xff01; 一、前言 前期我们解释过二叉树的顺序结构&#xff08;堆&#xff09;为什么比较适用于完全二叉树&#xff0c;因为如果用数组来实现非完全二叉树&#xff0c;那么数组的中间部分就可能会存在大量的空间浪费。 …

Linux操作系统基础(十四):集群服务器搭建

文章目录 集群服务器搭建 一、新增Linux服务器 1、克隆虚拟机 2、修改虚拟机的硬件配置 3、修改虚拟机的网络配置 二、关闭防火墙 1、关闭firewalld 2、关闭SElinux 三、修改主机名 四、修改hosts映射 五、SSH免密登录 六、时钟同步 七、远程文件拷贝 1、从本机拷…

剑指offer——二进制中1的个数

目录 1. 题目描述2. 可能引起死循环的想法3. 改进后的代码4. 给面试官惊喜的代码 1. 题目描述 请实现一个函数&#xff0c;输入一个整数&#xff0c;输出该数二进制表示中1的个数。例如把9表示成二进制位1001&#xff0c;有2位是1&#xff0c;因此如果输入9&#xff0c;该函数输…

Selenium图表自动化开篇

目录 前言&#xff1a; 使用 Canvas 或者 SVG 渲染 选择哪种渲染器 代码触发 ECharts 中组件的行为 前言&#xff1a; 图表自动化一直以来是自动化测试中的痛点&#xff0c;也是难点&#xff0c;痛点在于目前越来越多公司开始构建自己的BI报表平台但是没有合适的自动化测试…

Shell 学习笔记(三)-shell变量

Shell 语言是一种动态类型和弱类型语言, 因此,在Shell中无需显示地声明变量, 且变量的类型会根据不同的操作符而发生变化. 静态类型语言: 在程序编译期间就确定变量类型的语言, 如java, C等 动态类型语言: 在程序运行期间才确定变量类型的语言, 如PHP, Python等. 一 shell变量…

设计模式--策略模式(Strategy Pattern)

策略模式&#xff08;Strategy Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一系列的算法&#xff0c;并将每一个算法封装起来&#xff0c;使它们可以互相替换&#xff0c;让算法独立于使用它的客户端。 策略模式主要包含以下几个角色&#xff1a; Strategy&a…

高中信息技术—数据采集与编码(一)

计算机技术的应用&#xff0c;使得数据的处理方式发生了巨大的转变&#xff0c;要用计算机处理这些数据&#xff0c;需要对采集到的数据进行一定的转换。 采集方式 1.人工采集—观察、实验 2.机器采集 互联网—网络爬虫 传感器—自然信源 数字化 信息可用模拟信号或数字信号表…

re:从0开始的CSS之旅 13. 文档流

1. 三种基本机制 CSS盒子三种基本定位机制&#xff1a;普通流normal flow、浮动float、定位position 文档流&#xff08;标准流、普通流 normal flow&#xff09;&#xff1a;HTML文档中一些皆为盒子&#xff0c;而盒子在HTML文档中默认的显示标准&#xff0c;称为文档流 2. …

MySQL学习记录——구 复合查询

文章目录 1、基本查询2、多表查询3、自连接4、子查询1、多行子查询2、多列子查询3、from句中的子查询 5、合并查询 1、基本查询 看一些例子&#xff0c;不关心具体内容&#xff0c;只看写法 //查询工资高于500或岗位为MANAGER的雇员, 同时还要满足他们的姓名首字母为大写的J …

Django学习全纪录:编写你的第一个 Django 应用,Django内置数据库的配置,以及扩展性的数据库介绍和配置

天下古今之庸人,皆以一惰字致败;天下古今之人才,皆以一傲字致败。——[清]曾国藩 导言 大家好,在上一篇文章里,我们一起学习了Django的视图以及路由,并且对Django的应用有了初步的认识,掌握了视图和路由的基本规则,学会了Django的应用如何创建,总之,收获满满。 这…

Linux常用管理命令NTFS磁盘挂载

一、常用管理命令 1.1 whoami 作用&#xff1a;显示出当前有效的用户名称 语法&#xff1a;whoami&#xff08;选项&#xff09; 选项&#xff1a; --help&#xff1a;在线帮助--version&#xff1a;显示版本信息和退出 示例&#xff1a; [rootlocalhost ~]# whoami root 1.2 …