Vue2:Vuex中使用mapMutations和mapActions

这篇具有很好参考价值的文章主要介绍了Vue2:Vuex中使用mapMutations和mapActions。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、情景说明

上一节,我们学会在vccomputed模块中,使用mapState和mapGetters来简化代码
这一节,我们学习在vcmethods模块中,使用mapMutations和mapActions来简化代码

vcmethods中,我们会使用到storedispatchcommit
如果涉及到许多的方法都要用到store
那么,这个时候,就可以用mapMutations和mapActions来简化代码
其中,mapMutations对应commit
mapActions对应dispatch

二、案例

引入mapMutations和mapActions

	import {mapState,mapGetters,mapMutations,mapActions} from 'vuex'

index.js中的配置

//准备actions     用于响应组件中的动作
const actions = {
    jiaOdd(context,value){
        console.log('actions中的jiaOdd被调用了')
        if(context.state.sum % 2){
            context.commit('JIA',value)
        }
    },
    jiaWait(context,value){
        console.log('actions中的jiaWait被调用了')
        setTimeout(()=>{
            context.commit('JIA',value)
        },500)
    }
};

//准备mutations       用于操作数据state
const mutations = {
    JIA(state,value){
        console.log('mutations中的JIA被调用了')
        state.sum += value
    },
    JIAN(state,value){
        console.log('mutations中的JIAN被调用了')
        state.sum -= value
    }
};

vc组件中methods模块代码
两种写法,看情况使用

		methods: {
			//借助mapMutations生成对应的方法,方法中会调用commit去联系mutations(对象写法)
			...mapMutations({increment:'JIA',decrement:'JIAN'}),

			//借助mapMutations生成对应的方法,方法中会调用commit去联系mutations(数组写法)
			// ...mapMutations(['JIA','JIAN']),
			/* ************************************************* */
			//借助mapActions生成对应的方法,方法中会调用dispatch去联系actions(对象写法)
			...mapActions({incrementOdd:'jiaOdd',incrementWait:'jiaWait'})

			//借助mapActions生成对应的方法,方法中会调用dispatch去联系actions(数组写法)
			// ...mapActions(['jiaOdd','jiaWait'])
		},

vchtml代码,使用methods时,通过html代码方式传入参数文章来源地址https://www.toymoban.com/news/detail-828342.html

		<button @click="increment(n)">+</button>
		<button @click="decrement(n)">-</button>
		<button @click="incrementOdd(n)">当前求和为奇数再加</button>
		<button @click="incrementWait(n)">等一等再加</button>

到了这里,关于Vue2:Vuex中使用mapMutations和mapActions的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue2:组件间通信框架Vuex

    功能介绍: 简单说就是 Vue 项目中,各个组件间通信的一种框架 相较于之前的 全局事件总线 ,该框架更实用! 提高了代码的复用率,把核心业务代码,集中到 store 中,这样,一处实现,处处调用。 原理: VC 调用 actions actions调用mutations mutations调用state VC读取state 完美闭环

    2024年02月19日
    浏览(32)
  • 开始学习Vue2(axios和Vuex)

    一、 Axios 1、 Axios  简介 Axios   是一个基于  promise   网络请 求库 ,作用于 node.j s  和浏   览器中。它是  isomorphic  的(即同一套代码可以运行在浏览器 和 node.js 中)。在服务端它使用原生  node.js http  模块,  而在 客户端   (浏览端)   则使用   XMLHttpRequests。 2、 Axios  的

    2024年02月20日
    浏览(35)
  • Vue2向Vue3过度Vuex核心概念mutations

    1.定义mutations 2.格式说明 mutations是一个对象,对象中存放修改state的方法 3.组件中提交 mutations 4.练习 1.在mutations中定义个点击按钮进行 +5 的方法 2.在mutations中定义个点击按钮进行 改变title 的方法 3.在组件中调用mutations修改state中的值 5.总结 通过mutations修改state的步骤 1.定义

    2024年02月11日
    浏览(44)
  • 【vue2】vuex超超超级详解!(核心五大配置项)

    🥳博       主: 初映CY的前说(前端领域) 🌞个人信条: 想要变成得到,中间还有做到! 🤘 本文核心 :vuex基础认识、state、getters、mutations  actions、modules使用 目录(文末有原素材喔)  一、vuex介绍 1.vuex概念引入: 2.为什么要有vuex 3.Vuex使用场景 4.vuex工作流程: 二、五大

    2024年02月03日
    浏览(35)
  • vue2(Vuex)、vue3(Pinia)、react(Redux)状态管理

    Vuex 是一个专为 Vue.js应用程序开发的状态管理模式。它使用集中式存储管理应用的所有组件的状态,以及规则保证状态只能按照规定的方式进行修改。 State(状态) :Vuex 使用单一状态树,即一个对象包含全部的应用层级状态。这个状态树对应着一个应用中的所有状态。 Gett

    2024年01月23日
    浏览(48)
  • ❤ Vue2+vue-cli+vue-router+vuex +elementUI/vant完整项目搭建 项目和配置(一)

    项目整套:Vue2+vue-cli+vue-router+vuex +elementUI/vant 进一步配置完善已迁移到(二)部分 ① Git 环境检测 git 环境 git --version ② node 环境和npm 环境检测 node 环境 node --version npm 环境 npm -v ③ Vue 环境检测 查看VUE脚手架版本 vue -V 安装Vue2 安装Vue2脚手架 安装webpack 检查安装 利用webpack创

    2024年02月16日
    浏览(58)
  • Springboot+Flask+Neo4j+Vue2+Vuex+Uniapp+Mybatis+Echarts+Swagger综合项目学习笔记

    项目访问入口 Neo4j高性能图数据库从入门到实战 教程博客:Neo4j 开启命令 医学知识图谱问答系统 neo4j知识图谱 Vue+flask 中药中医方剂大数据可视化系统 ECharts数据可视化项目、 D3js: 数据可视化入门D3.js 展示地址:数据可视化 子绝父相 立即执行函数(function(){})(); ECharts官网:

    2024年02月16日
    浏览(72)
  • Springboot+Flask+Neo4j+Vue2+Vuex+Uniapp+Mybatis+Echarts+Swagger+JWT+Nginx+VueRouter综合项目学习笔记【包括项目部署】

    项目访问入口 Neo4j高性能图数据库从入门到实战 教程博客:Neo4j 开启命令 医学知识图谱问答系统 neo4j知识图谱 Vue+flask 中药中医方剂大数据可视化系统 ECharts数据可视化项目、 D3js: 数据可视化入门D3.js 展示地址:数据可视化 子绝父相 立即执行函数(function(){})(); ECharts官网:

    2024年02月03日
    浏览(44)
  • vue~vuex的使用

    Vuex 和本地存储(如 localStorage )以及 cookie 存储(如 document.cookie )之间有一些关系,但它们是不同的概念,用于不同的目的。 Vuex : Vuex 是 Vue.js 的官方状态管理库,用于在 Vue.js 应用程序中管理应用程序的全局状态。 Vuex 主要用于在前端应用程序中存储和管理各种状态,包

    2024年02月09日
    浏览(43)
  • 【Vue】使用 Vuex 作为状态管理

    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式和库。它使用单一状态树,这意味着这个对象包含了全部的应用层级状态,并且以一种相对集中的方式存在。这也意味着,通常单个项目中只有一个 Vuex store。Vuex 的核心概念和功能包括: 状态(State) :Vuex 使用单一状态树

    2024年01月23日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包