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

Vue 四个map的使用方法

        1.mapState方法:用于帮助我们映射state中的数据为计算属性。

                computed:{

                        //借助mapState生成计算属性:sum、school、subject(对象写法)

                        ...mapState({sum:'sum',school:'school',subject:'subject'}),

                        //借助mapState生成计算属性:sum、school、subject(数组写法)

                        ...mapState(['sum','school','subject']),

                }

        2. mapGetters方法:用于帮助我们映射state中的数据为计算属性。

                computed:{

                        //借助mapGetters生成计算属性:bigSum(对象写法)

                        ...mapGetters({bigSum:'bigSum'}),

                        //借助mapGetters生成计算属性:bigSum(数组写法)

                        ...mapGetters(['bigSum'])

                }

         3. mapActions 方法:用于帮助我们生成与actions对话的方法,即:包含$store.dispatch(xxx)的函数。

                methods: {

                        //靠mapActions生成:incrementOdd、incrementWait(对象形式)

                        ...mapActions({incrementOdd:'incrementOdd',incrementWait:'incrementWait'}),

                        

                        //靠mapActions生成:incrementOdd、incrementWait(数组形式)

                        ...mapActions(['incrementOdd','incrementWait']),

                },

        4. mapMutations 方法:用于帮助我们生成与mutations对话的方法,即包含$store.commit(xxx)的函数。

                methods: {

                        //靠mapMutations生成:increment、decrement(对象形式)

                        ...mapMutations({INCREMENT:'INCREMENT',DECREMENT:'DECREMENT'}),

                        

                        //靠mapMutations生成:increment、decrement(数组形式)

                        ...mapMutations(['INCREMENT','DECREMENT']),

                },

/*    Count.vue    */
<template><div class="main"><h1>这门课是{{ school }}的{{ subject }}课程</h1><h2>当前求和为:{{ sum }}</h2><h3>当前求和放大十倍为:{{ bigSum }}</h3><select v-model.number="n"><option value="1">1</option><option value="2">2</option><option value="3">3</option></select><button @click="INCREMENT(n)">+</button><button @click="DECREMENT(n)">-</button><button @click="incrementOdd(n)">当前为奇数再加</button><button @click="incrementWait(n)">等会再加</button></div>
</template><script>import {mapState,mapGetters,mapMutations,mapActions} from 'vuex'export default {name:'Count',data() {return {n:1}},methods: {// increment(){//     //只需要执行state中sum的加法功能,逻辑简单可以不写dispatch//     this.$store.commit('INCREMENT',this.n)// },// decrement(){//     //只需要执行state中sum的减法功能,逻辑简单可以不写dispatch//     this.$store.commit('DECREMENT',this.n)// },//靠mapMutations生成:increment、decrement(对象形式)// ...mapMutations({INCREMENT:'INCREMENT',DECREMENT:'DECREMENT'}),//靠mapMutations生成:increment、decrement(数组形式)...mapMutations(['INCREMENT','DECREMENT']),/* **************************************************************** */// incrementOdd(){//     this.$store.dispatch('incrementOdd',this.n)// },// incrementWait(){//     this.$store.dispatch('incrementWait',this.n)// },//靠mapActions生成:incrementOdd、incrementWait(对象形式)// ...mapActions({incrementOdd:'incrementOdd',incrementWait:'incrementWait'}),//靠mapActions生成:incrementOdd、incrementWait(数组形式)...mapActions(['incrementOdd','incrementWait']),},computed:{//借助mapState生成计算属性:sum、school、subject(对象写法)// ...mapState({sum:'sum',school:'school',subject:'subject'}),//借助mapState生成计算属性:sum、school、subject(数组写法)...mapState(['sum','school','subject']),/* **************************************************************** *///借助mapGetters生成计算属性:bigSum(对象写法)// ...mapGetters({bigSum:'bigSum'}),//借助mapGetters生成计算属性:bigSum(数组写法)...mapGetters(['bigSum'])}}
</script><style lang="less" scoped>button{margin-left: 5px;}
</style>

 

http://www.dtcms.com/a/301294.html

相关文章:

  • MySQL读写分离部署
  • 【YOLO系列】YOLOv1详解:模型结构、损失函数、训练方法及代码实现
  • 前端面试专栏-前沿技术:31.Serverless与云原生开发
  • Spring AI 项目实战(二十一):Spring Boot + AI +DeepSeek驱动的智能题库系统(附完整源码)
  • Linux-文件与文本管理
  • 【语义分割】记录2:yolo系列
  • Java面试实战:安全框架与大数据技术深度解析
  • 代码随想录算法训练营二十八天|动态规划part01
  • C语言自定义数据类型详解(四)——联合体
  • 欧拉图与欧拉回路
  • Windows---动态链接库Dynamic Link Library(.dll)
  • 裴蜀定理应用
  • Ubuntu Linux 如何配置虚拟内存 —— 一步一步配置 Ubuntu Server 的 NodeJS 服务器详细实录8
  • GRPO强化学习缓解多模态大模型OCR任务的幻觉思路及数据生成思路
  • 【Oracle】Oracle分区表“排雷“指南:当ORA-14400错误找上门时如何优雅应对
  • 【数据结构与算法】数据结构初阶:详解排序(二)——交换排序中的快速排序
  • 【Web安全】深入浅出理解“SQL注入-伪静态注入”及空格限制绕过技巧
  • linux 板卡实现vxi11服务
  • Qwen3安装使用教程:引领推理型大模型新时代
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-35,(知识点:三极管知识点,电路电压计算题,三极管电压计算,PNP三极管)
  • linux 部署 flink 1.15.1 并提交作业
  • 数据上新|最新省、地级市农业新质生产力2002-2025
  • Linux vimgrep 详解
  • 深度学习篇---优化器
  • 上位机知识篇---Tailwind CSS
  • Linux内核设计与实现 - 第15章 进程地址空间
  • python-列表推导式,迭代器和生成器,上下文管理器
  • Unity3D 平台宏定义
  • 双指针算法技巧
  • CCF-GESP 等级考试 2025年6月认证C++七级真题解析