我有一个getter来检查产品库存和购物车的数量。这里是getter。js:
export const checkStock = (state, productID) => {
let stockAvailable = true;
state.cart.forEach(item => {
if(item.product.id == productID) {
if(item.product.attributes.stock <= item.amount){
stockAvailable = false;
}
}
})
return stockAvailable;
}
如你所见,我将productID
作为参数发送给这个函数。然后在Product组件中,我调用这个函数,我想将productID
添加到这个函数中,但我不知道。
checkStockAvailability(productId) {
return this.$store.getters.checkStock;
},
那么你认为我如何才能将productID
添加到我的getter函数中?
您可以通过返回一个返回结果的函数来在getter中使用形参:
export const checkStock = (state) => (productId) => {
// call the checkStockAvailability here
let stockAvailable = true;
state.cart.forEach(item => {
if(item.product.id == productID) {
if(item.product.attributes.stock <= item.amount){
stockAvailable = false;
}
}
})
return stockAvailable;
}
// then you can use this getter on the component as
const productId = 2;
store.getters.checkStock(productId)