在vuex中的actions中
addCartList({ state, commit }, payload) {
return new Promise((reslove, reject) => {
let prodect = state.cartList.find((item) => item.iid === payload.iid);
if (prodect) {
// 同一商品点击多次加入购物车,只增加商品数量
commit("ADDCOUNT", prodect);
reslove("当前商品数量加1");
} else {
// 首次将一个商品加入购物车
payload.count = 1;
commit("ADDGOODS", payload);
reslove("添加购物车成功!");
}
});
},
组件methods的action分发及调用
...mapActions(["addCartList"]),
// 映射actions
this.addCartList(product).then((res) => {
// 出现模态框
console.log(res);
});
后续操作将console.log换成需要出现的组件就行