Vue中使用Vuex(超详细)基本使用方法

vue中使用vuex,不同的vue版本要对应使用不同的vuex,在这里不做详情介绍,想具体了解的,请自行度娘或者必应一下。

在使用vuex之前,我们创建一个新的项目,这里我们使用的是vue的脚手架创建一个vue项目。

命令vue create muf-simple-vuex-demo

此处我们使用的是vue2的版本,vue版本号为v2.6.14,对用使用的vuex的版本是3.6.2

在这里插入图片描述
src目录下创建一个store文件夹,在store文件夹下创建index.js文件和modules(模块文件夹,为了拓展不同的业务模块使用),在modules文件夹下创建一个settings.js文件,具体目录接口如上图所示。

那么直接贴出代码文件。

store文件夹下创建的index.js文件

import Vue from 'vue'
import Vuex from 'vuex'
import settings from './modules/settings'Vue.use(Vuex)// 全局的state
const state = {}// 全局的 mutations
const mutations = {}// 全局的 getters
const getters = {}const store = new Vuex.Store({state,mutations,getters,modules: {settings,// 其他业务更多的模块文件},
})export default store

modules文件夹下创建的settings.js文件

const state = {settingObj: {version: 'V2.1.3',updateTime:'2024-03-29'}
}/*** 单一赋值数据:修改对用的数据* 1.如果不需要对数据二次加工,直接存的话,可以调用此处的方法;* 2.如果需要对数据进行处理,二次加工之后,在存储的话,可以在 actions 内进行数据处理包装* * 一、如何使用全局mutations* 示例1:* this.$store.commit('UPDATE_VERSION',newVersion)* * 示例2:* 导包* import { mapMutations } from 'vuex'* methods 方法模块进行注册* methods: { *    ...mapMutations(['UPDATE_VERSION']), // 保持原方法名不变,*    ...mapMutations({'updateVersion': 'UPDATE_VERSION'})// 在次组件中,新起一个名字* }* 直接使用* this.UPDATE_VERSION('')* this.updateVersion('')* * * 二、如何使用modules中的mutations( namespaced:true)* 示例1:* this.$store.commit('settings/UPDATE_VERSION',newVersion)* * 示例2:* import { mapMutations } from 'vuex'* methods 方法模块进行注册* methods: { *    ...mapMutations('settings',['UPDATE_VERSION']), // 保持原方法名不变,*    ...mapMutations('settings',{'updateVersion': 'UPDATE_VERSION'})// 在次组件中,新起一个名字* }* 直接使用* this.UPDATE_VERSION('')* this.updateVersion('')* * */
const mutations = {UPDATE_VERSION: function (state, newVersion) { state.settingObj.version = newVersion},UPDATE_TIME: function (state, newTime) { state.settingObj.updateTime = newTime},UPDATE_SETTING_OBJ: function (state, newSettingObj) { state.settingObj = newSettingObj},
}/*** 单一对数据进行加工之后,再进行存储,在此处进行处理之后,然后调用 mutations 内的方法* * 一、如何使用全局 actions* 示例1:* this.$store.dispatch('settings/updateVersion','这是更新之后的版本号:V5.5.5')* * 示例2:* 先导包* import { mapActions } from 'vuex'* 然后复制下面代码到 methods 模块进行注册* methods: { *    ...mapActions(['updateVersion']), // 保持原方法名不变,*    ...mapActions({'newUpdateVersion': 'updateVersion'})// 在次组件中,新起一个名字* }* 直接使用* this.updateVersion('') // 对应保持原名称不变* this.newUpdateVersion('') // 对应新名称* * 二、如何使用 modules 中的 actions namespaced:true)* * 示例1:* this.$store.dispatch('settings/UPDATE_VERSION',newVersion)* * 示例2:* import { mapActions } from 'vuex'* methods: { *    ...mapActions('settings',['updateVersion']), // 保持原方法名不变,*    ...mapActions('settings',{'newUpdateVersion': 'updateVersion'})// 在次组件中,新起一个名字* }* 直接使用* this.updateVersion('') // 对应保持原名称不变* this.newUpdateVersion('') // 对应新名称* */
const actions = {updateVersion({ commit }, data) { commit('UPDATE_VERSION', data)},updateSettingObj({ commit }, data) { commit('UPDATE_SETTING_OBJ', data)},updateTime({ commit }, data) { commit('UPDATE_TIME',data)},}/*** 一、如何使用全局getters* 示例1:* this.$store.getters.settingObj* * 示例2:* import { mapGetters } from 'vuex'* 在 计算属性 computed 使用* computed: { *    ...mapGetters(['updateVersion']), //保持原方法名不变,*    ...mapGetters({'newUpdateVersion': 'updateVersion'}) //在次组件中,新起一个名字* }* * 二、如何使用 modules 中的 getters* 示例1:* this.$store.getters.settings.settingObj* 在 计算属性 computed 使用* computed: { *    ...mapGetters('settings',['settingObj']), // 保持原方法名不变,*    ...mapGetters('settings',{'newSettingObj': 'settingObj'})// 在次组件中,新起一个名字* }*/
const getters = {settingObj: (state) => state.settingObj,
}export default {namespaced: true,state,mutations,actions,getters,
}

具体的使用方法,请看settings.js文件,注释写的比较清晰一些。

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

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

相关文章

入围中国大模型 + 知识管理最佳案例 15 强,杭州悦数 x 中国船舶项目收获认可!

近期,由国内知名的数字化研究与服务机构沙丘社区发布的《2024 中国“大模型知识管理”最佳实践案例 15 强》新鲜出炉,杭州悦数科技有限公司助力中国船舶集团有限公司第七〇八研究所打造的行业方案“基于图和多级智能体的动态排障知识问答系统”榜上有名。…

vue属性与方法

vue属性与方法 计算属性v-model指令——表单的实现样式绑定 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&g…

对iOS的内存存储的一些理解

最近写项目的时候遇到了一些内存上的问题&#xff08;比如内存泄漏等等&#xff09;&#xff0c;通过网上的方法解决后&#xff0c;好奇iOS的数据是如何存储的&#xff0c;特记于此。 一、iOS的内存区域 iOS 中应用程序使用的计算机内存不是统一分配空间&#xff0c;运行代码使…

【感悟《剑指offer》典型编程题的极练之路】02字符串篇!

​ 个人主页&#xff1a;秋风起&#xff0c;再归来~ 文章所属专栏&#xff1a;《剑指offer》典型编程题的极练之路 ​​​​​​ 个人格言&#xff1a;悟已往之不谏&#xff0c;知来者犹可追 克心守己&#xff0c…

Leetcode 剑指 Offer II 071.按权重随机选择

题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一个正整数数组 w &#xff0c;其中 w[i] 代表下标 i 的权重…

电子级高纯PFA材质实验室器皿耗材PFA漏斗PFA试剂瓶PFA烧杯

PFA三角漏斗&#xff0c;整体均是PFA材质&#xff0c;无污染风险&#xff0c;可高压灭菌。 尺寸&#xff1a;外径40mm、160mm PFA三角漏斗 特点&#xff1a; 1、一体式成型&#xff0c;结构稳定&#xff1b; 2、化学耐受性强&#xff0c;耐受强酸、强碱以及各种有机溶剂&…

如何划分训练集、测试集、验证集

训练集、测试集和验证集是在机器学习和数据科学中常用的术语&#xff0c;用于评估和验证模型的性能。它们通常用于监督学习任务中。 1. 训练集&#xff08;Training Set&#xff09;&#xff1a;训练集是用于训练机器学习模型的数据集。在训练期间&#xff0c;模型使用训练集中…

FPGA----ZCU106的petalinux 2019.1使用USB传输数据

1、实际项目中需要用到开发板的串口进行数据交互&#xff0c;之前讲的几节只是启动了网口&#xff08;如下链接&#xff09;。因此&#xff0c;本次给大家带来的官方自带串口例程的使用方法&#xff0c;本文的vivado工程和下述连接一样&#xff0c;PL端什么配置都没有。 FPGA-…

PostgreSQL到Doris的迁移技巧:实时数据同步新选择!

PostgreSQL可以说是目前比较抢手的关系型数据库了&#xff0c;除了兼具多样功能和强大性能之外&#xff0c;还具备非常优秀的可扩展性&#xff0c;更重要的是它还开源&#xff0c;能火不是没有理由的。 虽然PostgreSQL很强大&#xff0c;但是它也有短板&#xff0c;相对于专业…

淘宝商品详情数据(商品分析,竞品分析,代购商城建站与跨境电商,ERP系统商品数据选品)

淘宝商品详情数据在多个业务场景中发挥着关键作用&#xff0c;以下是一些主要的应用场景&#xff1a; 请求示例&#xff0c;API接口接入Anzexi58 商品分析&#xff1a;通过对淘宝商品详情的全面分析&#xff0c;商家可以深入了解商品的属性、价格、销售量、评价等信息。这些数…

ATFX汇市:欧元区的2月M1增速为-7.7%,潜在通胀下修,欧元币值受冲击

ATFX汇市&#xff1a;衡量经济体的潜在通胀指标&#xff0c;除了CPI数据、失业率数据外&#xff0c;还有M1、M3数据。昨日&#xff0c;欧洲央行公布了2月份欧元区货币发展报告&#xff0c;其中提到&#xff1a;广义货币总量M3的年增长率从1月份的0.1%上升到2024年2月的0.4%&…

机器学习--支持向量机(通俗版本+demo)

场景 假设我们要在一个在线零售平台上自动区分商品评论是正面的还是负面的。评论中的语言多种多样&#xff0c;且往往含有大量的非结构化文本数据&#xff0c;直接使用简单的规则来分类是非常困难。这时候我们采取支持向量机算法来分类是一个比较好的选择。 支持向量机 支持…

RPA-财务对账邮件应用自动化(客户对账机器人)

《财务对账邮件应用自动化》&#xff0c;将会使用邮箱的SMTP服务&#xff0c;小北把资源包绑定在这篇博客了 Uibot (RPA设计软件)———机器人的小项目友友们可以参考小北的课前材料五博客~ (本博客中会有部分课程ppt截屏,如有侵权请及请及时与小北我取得联系~&#xff09; …

MATLAB 自定义生成直线点云(详细介绍) (47)

MATLAB 自定义生成直线点云 (详细介绍)(47) 一、算法介绍二、具体步骤二、算法实现1.代码2.效果一、算法介绍 通过这里的直线生成方法,可以生成模拟直线的点云数据,并通过调整起点、终点、数量和噪声水平等参数来探索不同类型的直线数据。这种方法可以用于测试、验证和开…

【涨薪技术】0到1学会性能测试 —— LR录制回放事务检查点

上一次推文我们分享了性能测试分类和应用领域&#xff0c;今天带大家学习性能测试工作原理、事务、检查点&#xff01;后续文章都会系统分享干货&#xff0c;带大家从0到1学会性能测试&#xff0c;另外还有教程等同步资料&#xff0c;文末免费获取~ 01、LR工作原理 ​通常我们…

gitee拉取与推送

&#x1f331;博客主页&#xff1a;青竹雾色间 &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 目录 一&#xff0c;从本地推送项目到gitee1.首先我们在gitee上创建一个仓库2.clone远程仓库到本地3.git的三板斧3.1. add - 将代码添加到本地仓库3.2. commit …

HarmonyOS实战开发-实现Ability内页面间的跳转和数据传递。

介绍 本篇Codelab基于Stage模型下的Ability开发&#xff0c;实现Ability内页面间的跳转和数据传递。 最终效果图如下&#xff1a; 相关概念 页面路由&#xff1a;提供通过不同的url访问不同的页面&#xff0c;包括跳转到应用内的指定页面、用应用内的某个页面替换当前页面、…

UWB辅助RTK如何应对极端环境

1.UWB定位 - UWB&#xff08;Ultra-Wideband&#xff09;是一种无线通信技术&#xff0c;其特点是具有较宽的频带&#xff0c;可以提供0.1-0.5m高精度的距离测量。 - UWB定位需要四台基站&#xff08;每台基站视距间隔50-100米&#xff09;呈矩形安装部署&#xff0c;以实现…

JHY-31复合电压继电器 额定电压Un=110VDC 板后接线 JOSEF约瑟

用途&#xff1a; JHY-31复合电压继电器使用于电力系统的继电保护线路中&#xff0c;作为各种类型故障的判别元件和电压闭锁元件。 继电器型号名称&#xff1a; 例:辅助直流工作电压为110V的复合电压继电器的订货代号为: JHY-31/110V。 工作原理&#xff1a; 继电器内部具有负…

9、jenkins微服务持续集成(一)

文章目录 一、流程说明二、源码概述三、本地部署3.1 SpringCloud微服务部署本地运行微服务本地部署微服务3.2 静态Web前端部署四、Docker快速入门一、流程说明 Jenkins+Docker+SpringCloud持续集成流程说明 大致流程说明: 开发人员每天把代码提交到Gitlab代码仓库Jenkins从G…