$scope.toCart = function(id,item){
var toSaveArray = [];
var toSaveObj = {
id: item._id,
name : item.name,
image : item.image[0],
price : item.price,
discount_price : item.discount_price,
qty : 1
}
toSaveArray.push(toSaveObj);
var fromSaved = JSON.parse(localStorage.getItem('cart'));
if(fromSaved){
for(i=0;i<fromSaved.length;i++){
if(fromSaved[i].id == id){
fromSaved[i].qty += 1;
toSaveArray.push(fromSaved);
}
}
}
localStorage.setItem('cart',JSON.stringify(toSaveArray));
}
Если элемент существует, добавьте один qty, иначе просто добавьте объект в массив. Но с этой простой логикой у меня не было рабочего кода. Над кодом сломан.Борьба с добавлением в корзину Локальная логика хранения
'выше код broken' Как так? Что он делает? –
Что конкретно нарушено? –
Я думаю, что ваша логика здесь вернулась к 'toSaveArray.push (fromSaved):' Из того, что я вижу, было бы гораздо более целесообразно нажать 'toSaveObj' на существующее сохранение (' fromSaved'), а затем сохранить его , – DBS