VUEX 方法调用 常用的几种方式和简写 mapState,mapMutation,mapAction

本文介绍了Vuex的状态管理,包括State作为全局数据源,Getters用于修饰State但不改变它,Mutation是修改State的唯一途径,Action处理异步操作并最终调用Mutation。此外,还提到了使用module模块化管理以及mapState、mapMutation和mapAction的简写方式来简化组件与Vuex的交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

State

  1. 提供全局唯一的公共数据源

  2. 访问全局状态的两种方法

    1. 使用  this.$store.state.xxxx
    2. 使用辅助函数的方法去访问,  mapState
    	在组件里面定义计算属性的方式   ...mapState(['count'])   这句话的意思就是将 state上面的值映射为当前组件的 计算属性
    

Getters

  1. 主要是堆state里面的数据 有一个包装或者修饰的作用, 并不会改变state上面原始的数据; 类似于vue里面的计算属性

    使用方式  this.$store.getters.xxx
    使用辅助函数的方式   直接在页面上使用这个技术属性, 但是要现在页面里面定义  mapGetters(['xxx'])
    

Mutation

  1. 全局的数据,使用的方式,显示的方式是 this.$store.state.count
  2. 如果要对store里面的数据进行修改, 比如我们有10个组件,都访问这个数据, 有5个组件想修改这个公共的数据 this.$store.state.count ++
  3. 在工作里面,我们对与stroe上面的数据逇更改,一定要交给唯一的一个全局功能的函数,卸载mutation里面
  4. 在组件里面,怎么样去修改全局的状态值 this.$store.commit(‘写我们定义的方法名称’)
  5. 在vuex里面,修改全局数据唯一的方法就是 提交 mutation

Action

  1. 对于异步的数据的操作,mutation处理不了,只能选择action

  2. 但是最终的action里面,要修改数据,还是要调用mutation里面的函数

    在action 的函数里面,这样写我们的异步函数
    fnAsync(context){
        setTimeout(()=>{
            // 在这个里面再滴哦阿勇mutation去修改我们的额 state上面的值
            context.commit('提交一个mutation')
        }, 1000)
    }
    
    // 上面是定义action的地方; 在组件里面调用action
    this.$store.dispatch('ation的名称')
    

module模块

常用的几种方式和简写 mapState,mapMutation,mapAction

访问数据  this.$store.state.count
辅助函数简写 this.count --------- 必须先计算属性computed定一个辅助函数 mapState(['count'])

同步修改数据
修改数据是  this.$store.commit("mutation里面函数的名称")
辅助函数简写  this.函数名称() --- 必须在methods里面  定一个辅助函数  mapMutation(['函数名称'])

异步修改数据
修改数据  this.$store.dispatch("action里面定义的方法")
辅助函数简写  this.函数名称()  ---- 必须要在methods 定义一个辅助函数  mapAction(['函数名称'])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值