已知Vuex中經過actions提交mutations要經過context.commit(mutations,object)的方式來完成
然而commit中只能傳入兩個參數,第一個就是mutations,第二個就是要傳入的參數
一開始遇到的問題是加入購物車方法中要傳入一個字典對象裏面保存產品信息item,還要傳入一個產品數量的參數num
然而若是這麼寫的話就會報錯:context.commit(mutations,item,num)this
將第二個參數以對象的放式提交就像這樣code
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就解決了產品