問題:
已知Vuex中通過actions提交mutations要通過context.commit(mutations,object)的方式來完成
然而commit中只能傳入兩個參數,第一個就是mutations,第二個就是要傳入的參數
一開始遇到的問題是加入購物車方法中要傳入一個字典對象裏面保存產品信息item,還要傳入一個產品數量的參數num
然而如果這麼寫的話就會報錯:context.commit(mutations,item,num)
解決辦法:
將第二個參數以對象的放式提交就像這樣
mutations = {
PRODUCT_ADDTO_CART:(state,product) => {
//code
}
}
actions = {
productaddtocart:(context,value) => {
context.commit('PRODUCT_ADDTO_CART', value);
},
}
在頁面調用方法的時候是這樣的:
productAddToCart(item,productNum){
this.productaddtocart({"item":item,"num":this.productNum})
}
這裏的關鍵信息是將參數打包成一個字典對象傳入,在mutations裏面調用的話就product.item,product.num就解決了