为了账号安全,请及时绑定邮箱和手机立即绑定

vuex mutations 报错?

vuex mutations 报错?

拉丁的传说 2018-08-31 18:31:19
在mutations中注册的setCart方法://store.js mutations:{    setCart(state,foodIndex){         Vue.set(state.goods.foods[foodIndex],"count",1);     } }组件中提交mutations并使用setCart方法//childComponent.vuemethods:{     setCart(foodIndex){                 this.$store.commit('setCart',this.foodIndex);           },     },               addCartItem:function (event) {             if (!this.food.count){                  this.setCart(this.foodIndex);         }else{                   this.addCart(this.foodIndex)                    return         }       },结果会报错,this.foodIndex is undefined ,在created中console了this.foodIndex,结果正常,我直接传数值给setCart:this.addCart(0)依然会报错:this.foodIndex is undefined会不会我在store.js注册的mutations方法不对?
查看完整描述

2 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

addCartItem:function (event)改成addCartItem (event)试试

查看完整回答
反对 回复 2018-09-09
?
qq_笑_17

TA贡献1818条经验 获得超7个赞

首先,贴一下 你定义 this.foodIndex 的代码,确定你有定义这个变量

其次,贴出来的methods的代码有问题
建议改为

methods:{

    setCart (foodIndex){

        this.$store.commit('setCart', foodIndex);

    },

    addCartItem (event) {

        if (!this.food.count){

          this.setCart(this.foodIndex);

        }else{

          this.addCart(this.foodIndex)

          return

        }

    }

如果还有问题,请贴出更详细的代码

查看完整回答
反对 回复 2018-09-09
  • 2 回答
  • 0 关注
  • 1309 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信