国瑞前端
当前位置: Vue-Cli > Vuex > vuex辅助函数mapState、mapActions

vuex一般情况下和vue脚手架配合使用,vuex可以共享数据,使用action,mutation进行更新数据,组件中使用commit进行提交调用,在我们使用这些东西的时候,我们也可以使用vuex中的辅助函数在组件中简化获取值的操作。

mapState使用方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//在data.vue中
import { mapState } from 'vuex'

  //computed: mapState({
  //count: state => state.count  //方法一
  //count:"count"//方法二
  // num (state) {  //方法三
  //   return state.count + 100
  // }
  //})

  //computed: mapState(['count'])

  computed: {
    abc () {
      return 123
    },
    ...mapState(['count'])
  }

mapActions使用方法

1
2
3
4
5
6
7
8
9
10
11
12
13
//data.vue中
import { mapState, mapGetters, mapActions } from 'vuex'

//data.vue中methods中的写法
//不使用mapActions
    handleIncrement () {
      this.$store.dispatch('increment');
    }

//使用mapActions
    ...mapActions({
      handleIncrement: 'increment'   //handleIncrement表示的就是事件执行函数
    })

mapMutations使用方法

1
2
3
4
5
6
7
8
9
10
11
12
13
//data.vue中
import { mapState, mapGetters, mapActions,mapMutations } from 'vuex'

//data.vue中methods中的写法
//不使用mapMutations
    handleIncrement () {
      this.$store.dispatch('decrease');
    }

//使用mapMutations
    ...mapMutations({
      handleIncrement: 'decrease'   //handleIncrement表示的就是事件执行函数
    })

使用mapMutations传值要在函数里面去做,示例如下:

不可以在methods中去做

1
2
3
4
5
6
7
8
9
10
11
12
//data.vue
    <button @click="handleIncrement('{de:5}')">减少</button>

    ...mapMutations({
      handleIncrement: 'decrease'
    }),

//store.js
    decrease(state, data) {
      state.count--;
      console.log(data);
    }

每当点击一次减,就会在控制台打印出我们调用的值

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(45) 打赏

支付宝扫一扫打赏

微信扫一扫打赏

上一篇:

下一篇:

相关推荐

0 条评论关于"vuex辅助函数mapState、mapActions"

最新评论

    暂无留言哦~~

博客简介

国瑞个人博客: https://www.huanggr.cn/,我们关注Web前端开发技术,web前端开发,移动前端开发,前端资讯,同时分享前端资源和工具等,期待你的参与,了解更多..

博主独立研发主题:

广告

广告

广告

广告

精彩评论

广告

站点统计

  • 文章总数: 334 篇
  • 草稿数目: 86 篇
  • 分类数目: 28 个
  • 独立页面: 5 个
  • 评论总数: 109 条
  • 链接总数: 10 个
  • 标签总数: 111 个
  • 注册用户: 176 人
  • 访问总量: 8,658,092 次
  • 最近更新: 2021年7月21日
服务热线:
 

 QQ在线交流

 旺旺在线