VueX里的mapGetters

这些是VueX文件里的

import Vue from 'vue'
import vuex from 'vuex'
Vue.use(vuex);
const store = new vuex.Store({//store对象
  state:{
    name: '金灿',
    age:19,
    number:17763011975
  },
  mutations: {
    edit(state, data){
      state.name=data.name
      state.age=data.age
      state.number=data.number
      // 对state对象中添加一个age成员15
      // Vue.set(state,"age",19)
      // Vue.set(state,"number",17763011975)
      // 将添加的name成员删除
      // Vue.delete(state,'name')
    }
  },
  getters:{
    nameInfo(state){
        return "姓名:"+state.name+
              "号码:"+state.number
    },
    fullInfo(state,getters){
        return getters.nameInfo+'年龄:'+state.age
    }  
  },
  actions:{
    aEdit(context,payload){
        setTimeout(()=>{
          context.commit('edit',payload)
        },2000)
    }
  },
  models:{
    a:{
        state:{},
        getters:{},
    }
  }
})
export default store

组件里

组件内调用一般都像这样


methods:{
    add(){
      console.log(this.$store.state.name)
    }
},

但其实可以用引用vuex里的方法

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

再:

export default {
  data(){
    return({

    })
  },
  computed: {
    ...mapGetters(['name','age','number'])
  },
  methods: {
    ...mapMutations(['edit']),
    ...mapActions(['aEdit'])
  },
}

然后这样直接引入就好了

  created () {
    // this.edit({name: 'kk',age: 10, number: 1762727126})
    this.aEdit({name: 'kkdf',age: 12, number: 88787})
  }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火兰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值