如何在value中发送参数给getter ?



我有一个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)

相关内容

  • 没有找到相关文章

最新更新