// 总价
const allPrice = computed(() => {
// 数组过滤,如果data.result中包含当前的item.id,则将当前商品信息放到countList数组中
let countList = store.state.cartList.filter((item) =>
data.result.includes(item.id)
);
// 总价格
let sum = 0;
// 遍历数据 将每一项的价格乘以数量再累加
countList.forEach((item) => {
sum += item.num * item.price;
});
return sum;
});
在这个代码片段中,computed是基于store.state.cartList和data.result的变化进行计算的。当store.state.cartList或data.result发生变化时,allPrice会自动重新计算。这个computed属性用于计算购物车中选中商品的总价格。它首先通过过滤函数筛选出包含在data.result中的购物车商品,然后遍历计算每个商品的价格乘以数量,累加得到总价格。