首页 > 其他分享 >VUEX 使用学习三 : mutations

VUEX 使用学习三 : mutations

时间:2023-02-21 11:07:41浏览次数:56  
标签:示例 mutations 学习 state increment mapMutations VUEX store

转载请注明出处:

  在 Vuex 中 store 数据改变的唯一方法就是提交 ​​mutations​​​。​​mutations​​​里面装着一些改变数据方法的集合,这是Vuex 设计很重要的一点,就是把处理数据逻辑方法全部放在 ​​mutations​​ 里面,使得数据和视图分离。

  通过这种方式虽然操作起来稍微繁琐一些,但是可以集中监控所有数据的变化

  示例:

const store = new Vuex.Store({
state: {
count: 1
},
mutations: {
// 事件类型 type 为 increment
increment (state) {
// 变更状态
state.count++
}
}
})

 

第一种使用方式:

  this.$store.commit() 是触发mutations的第一种方式,

  示例:

// 方法
mutations:{
// 加的方法
increment(state,addcounter){
state.counter += addcounter
},
// 减的方法
decrement(state,subcounter){
state.counter -= subcounter
}
},

  使用:

<template>
<div>
<h2>Vuex第四个页面</h2>
<button @click="addnum(5)">+</button>
<button @click="subnum(5)">-</button>
<p>{{$store.state.counter}}</p>
</div>
</template>

<script>
export default {
name: "Vuexfour",
methods:{
addnum(addcounter){
this.$store.commit("increment",addcounter)
},
subnum(subcounter){
this.$store.commit("decrement",subcounter)
}
}
}
</script>

第二种方式 mapMutations

  通过以函数映射的方式

    1.从vuex中按需求导入mapMutations 函数

import {mapMutations} from 'vuex'

    通过刚才导入的mapMutations函数,将当前组件需要的全局数据,映射为当前组件的computed计算属性

    2. 将指定的mutations函数,映射为当前组件的methods函数

methods:{ ...mapMutations(['add']) }

    示例:

<script>
import { mapMutations } from 'vuex'
export default {
computed:{
count(){
return this.$store.state.count
}
},
methods:{
...mapMutations([//采用解构的方式引入
'increment',
'decrement'
])
}
}
</script>

   

    在网上找到一个demo 示例,可参考学习: https://gitee.com/xiangbaxiang/vue-store

 



标签:示例,mutations,学习,state,increment,mapMutations,VUEX,store
From: https://blog.51cto.com/u_15535797/6076069

相关文章

  • VUEX 使用学习四 : action
    转载请注明出处:action用于处理异步任务;​​action​​,可以操作任意的异步操作,类似于​​mutations​​,但是是替代​​mutations​​来进行异步操作的。首先​​mutatio......
  • VUEX 的使用学习二: state
    转载请注明出处:state提供唯一的数据资源,所有的共享的数据都要统一放到store中的state中进行存储;状态state用于存储所有组件的数据。管理数据//初始化vuex对象c......
  • 软件工程个人学习心得
    Java应该是目前为止在软件开发领域使用最广的一种语言,学计算机的人员也始终绕不开Java。Java语言区别于其他语言的地方是,Java是在虚拟机上运行的,所以与平台无关,一串相......
  • 大一与大二软件工程专业学习心得与体会
    回顾即将两年的计算机专业大学生活,各种经历使我受益良多。在大一上半学期,我进行了c语言的学习。从老师的口中我得知,c语言是语言类中的基础,是我们成为一名成熟的程序员的第......
  • 在Javassist学习时遇到的javassist.NotFoundException问题的解决办法
    在Javassist学习时遇到的javassist.NotFoundException问题的解决办法//运行时会报错的原代码:ClassPoolpool=ClassPool.getDefault();CtClasscc=pool.get(Emp.clas......
  • 决战圣地玛丽乔亚Day16 --- 算法两道+ 独占锁/共享锁学习
    算法部分:复习一下二叉树的题目:简单的前中后序遍历:解二叉树的题目的逻辑:1.确定入参和返参2.确定终止条件3.确认每层的逻辑例如简单的后续遍历。  后续遍历是左右中......
  • c++学习
      c++字符串转化为整数浮点数。   string和char直接转换============31m代表字体为红色,0m代表关闭所有属性。常用的ANSI控制码如下(有些不支持):\033[0m关闭所......
  • python+playwright 学习-1.环境准备与快速开始
    前言说到web自动化,大家最熟悉的就是selenium了,selenium之后又出现了三个强势的框架Puppeteer、CyPress、TestCafe,但这3个都需要掌握JavaScript语言,所以只是少部分......
  • 2022.2.20学习总结
    今天老师花了三节课多,也算得上是给我们打了一针鸡血,也明确的指明了我们下个阶段的学习目标,我是一个十分清楚自己想要得到什么,当下该做一些什么的人,我也找到了我下一个阶段......
  • jdbc学习笔记
    JDBC尚硅谷https://www.bilibili.com/video/BV1sK411B71e?share_source=copy_web概述JDBC是连接Java和数据库的必要纽带MyBatis、HIBERNATE等都是封装了JDBC的应......