VueX的基础使用

VueX中常用的有5个

state:用来存放数据的地方。

mutations:用来存放同步函数的地方,只有此处可以改变state里的数据,此处形参一般为state+传入的值。

actions:用来存放异步函数的地方,一般涉及到axios发送请求,此处一般使用commit调用同步函数以达到更改state数据的目的,此处形参一般为context+传入的值,context可以点出commit和dispatch用以调用同步和异步函数。

getters:类似computer计算属性,此处函数形参一般为state,不涉及state时可以不加。

modules:当模块化后,index文件中一般不会存有以上四种,只留下该模块,以求高维护性。

注:当开启模块化后,一定要在模块内加上namespaced:true,开启命名空间,否则模块不会生效

如何调用VueX中的数据与函数?

1.没有模块化之前

原始方式

获取state数据:$store.state.变量名

使用同步函数:$store.commit('函数名')

使用异步函数:$store.dispatch('函数名', 【实参】)

获取计算属性:$store.getters['计算属性名']

注:

1.函数可以传递参数,无论同步异步,有参数传递时用逗号隔开即可

2.VueX里的函数只接收一个参数,当有多个参数需要传递时,请使用对象或数组的形式传递

辅助函数方式

首先

        辅助函数需要导入,需要那个辅助就导入那个

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

其次

        mapActions和mapMutations这两个使用时需要在methods中

        mapState和mapGetters这两个使用时需要在computed中

获取state数据:变量名

使用同步函数:@click="函数名"

使用异步函数:@click="函数名(参数)"

获取计算属性:计算属性名

methods: {

    ...mapMutations(['函数名']),

    ...mapActions(['函数名'])

  },

  computed: {

    ...mapState(['变量名']),

    ...mapGetters(['计算属性名'])

  }

2.模块化后

原始方式

获取state数据:$store.state.模块名.变量名

使用同步函数:$store.commit('模块名/函数名')

使用异步函数:$store.dispatch('模块名/函数名', 【实参】)

获取计算属性:$store.getters['模块名/计算属性名']

辅助函数方式

获取state数据:变量名

使用同步函数:@click="函数名"

使用异步函数:@click="函数名(参数)"

获取计算属性:计算属性名

methods: {

    ...mapMutations('模块名', ['函数名']),

    ...mapActions('模块名', ['函数名'])

  },

  computed: {

    ...mapState('模块名', ['变量名']),

    ...mapGetters('模块名', ['计算属性名'])

  }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值