在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 回答
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
}
}
如果还有问题,请贴出更详细的代码
添加回答
举报
0/150
提交
取消