Ознакомьтесь с этой простой демо-версией корзины покупок:
http://plnkr.co/edit/CHt2iNSRJAJ6OWs7xmiP?p=preview
Пользователь может выбрать veggie и фрукты, и он будет добавлен в корзину. Функция, которая добавляет фрукты /veggie, очень похожа, и я хочу объединить ее в функцию, которая может быть разделена между обоими компонентами.
selectFruit: function(product){
var cart = this.cart
for(p in cart){
if (cart[p]["type"] == "fruit"){
console.log("We already got a fruit!, Let remove " + cart[p]["name"] + " and add in " + product["name"]);
this.cart.$remove(cart[p])
}
}
console.log("Adding " + product.name + " to cart.");
var productName = product.name
var cartFruit = {name: product.name, type: 'fruit'}
this.cart.push(cartFruit)
}
selectVeggie: function(product){
var cart = this.cart
for(p in cart){
if (cart[p]["type"] == "veggie"){
console.log("We already got a veggie!, Let remove " + cart[p]["name"] + " and add in " + product["name"]);
this.cart.$remove(cart[p])
}
}
console.log("Adding " + product.name + " to cart.");
var productName = product.name
var cartVeggie = {name: product.name, type: 'veggie'}
this.cart.push(cartVeggie)
}
Как я могу это сделать, чтобы изменить этот метод и использовать его во всем мире? Я использую Vue Router с этим проектом, спасибо за любую помощь!