添加购物车了逻辑
state: {
//购物车列表的数据
shopcar: []
},
mutations: {
add(state, value) {
// 声明一个变量flag=false 如果是这个变量的值为false 代表购物车中有没有这个商品
let flag = false
//循环购物列表的数据
state.shopcar.forEach(item => {
//判断如果列表数据的id等于传参到的id
if (item._id == value._id) {
flag = true
item.num++
}
})
//往购物车中添加数据 如果 已经存在就 让num++
if (flag == false) {
//如果flag是false 那么这个数据第一次加购物车 添加属性 数量是1
value.num = 1
// 添加status属性,用于复选框的状态
value.status = false
//在 vue2中如果本来没有这个字段 我们想要新添加一个字段
//如果直接val.num这样给一个字段的话 这个字段不是响应式
//所以在vue2的时候用set新添加字段 Vue.set(val, "num", 1);
// vue3 中升级了 普通的添加 val.num = 1; 也是响应式的
// Vue.set(value, "num", 1)
//向购物车数据添加
state.shopcar.push(value)
//当