VUEX的使用 参数与方法的传递

本文介绍了VUEX在Vue应用中如何便捷地传递参数和方法,通过实例展示了mapState和mapActions的使用,强调其简化父子组件通信的优势,并提供了VUEX代码段,展示如何定义和调用状态管理中的方法。

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

VUEX的使用 参数与方法的传递

vuex的传值要比prop跟emit要方便的很,虽然不知道性能方面,但是确实很方便
直接上代码

页面代码

做一个简单的加加减减的例子

<template>
    <div class="vuexdemo">
        {{count}}
        <button @click="addFun()">+</button>
        <button @click="reduceFun()">-</button>
    </div>
</template>

<script>
import { mapState, mapActions } from 'vuex'
export default {
    data(){
        return{

        }
    },
    computed:{
        ...mapState([count])
    },
    methods:{
        ...mapActions([
            "addFun",
            "reduceFun"
        ])
        /* add(){
            this.$store.commit('add')
        },red(){
            this.$store.commit('red')
        } */
    }
}
</script>

这里面引用的2个方法mapState, mapActions
mapState是获取参数 在computed属性内写入...mapState([count])就可以获取到VUEX 里面的count的值
mapState可以用来调用VUEX内的方法,VUEX里面的方法可以直接操作VUEX的参数,所以说我们一般使用mapState操作VUEX的参数
虽然说我们可以用我注释掉的那个方法获取VUEX里面的方法,但是会让代码看起来非常乱,所以说就在VUEX内写好相应的代码,直接调取写的好的就可以让代码看起来不是那么的乱,调用起来也很方便。

VUEX代码
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    count:1,
  },
  mutations: {
  	add(state){
       state.count=state.count+1
     },red(state){
       state.count=state.count-1
     }
  },
  actions: {
     addFun(context){
       context.commit('add')
     },
     reduceFun(context){
       context.commit('red')
     }
  },
  modules: {
  }
})

这里actions就是调用mutations里面的方法,页面上就可以直接调用actions操作上面的方法,如果你不用这种调用方法,那么这个actions也不需要写了
把数据上传到这个文件内,其他文件就可以直接使用mapState获取参数了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值