所以我的Vuex中有ADD_TO_CART突变。 但是我希望用户只能将每个项目添加到购物车一次。 因此,我知道我需要执行if语句来检查产品是否已经在购物车中,但是我不知道语法以及如何编写它。
这是我的Vuex:
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
cart: [],
},
getters: {
countOfCartProducts: state => {
return state.cart.length
},
myCart: state => {
return state.cart
},
getTotal: state => {
return state.cart.reduce((total, lineItem) => Number(total) + Number(lineItem.price), 0);
}
},
mutations: {
ADD_TO_CART: (state, product) => {
if () {
}
else {
state.cart.push(product)
}
},
REMOVE_FROM_CART: (state, product) => {
state.cart.splice(product, 1)
}
},
actions: {
},
modules: {
}
});
答案 0 :(得分:0)
ADD_TO_CART: (state, product) => {
if (state.cart.findIndex(item => item.id === product.id) !== -1) {
return
}
else {
state.cart.push(product)
}
},
这正在起作用,谢谢大家!