Wenn Element vorhanden sind, fügen Sie eine Menge hinzu, sonst fügen Sie einfach das Objekt in das Array. Aber mit dieser einfachen Logik konnte ich keinen funktionierenden Code erstellen. Der obige Code ist kaputt.kämpfen mit in den Warenkorb lokale Speicherlogik
Antwort
ich einige Logik Fehler lösen:
$scope.toCart = function(id, item) {
var cart = JSON.parse(localStorage.getItem('cart'));
if (!cart) {
cart = [];
}
var index = cart.findIndex(function (cartItem) {
return cartItem.id === item._id;
});
if (index !== -1) {
cart[index].qty += 1;
} else {
cart.push({
id: item._id,
name : item.name,
image : item.image[0],
price : item.price,
discount_price : item.discount_price,
qty : 1
});
}
localStorage.setItem('cart',JSON.stringify(cart));
}
wird es einen Fehler geben, wenn der Wagen zum ersten Mal leer ist? –
@ cody-jonas lösen es, danke –
das ist eigentlich eine wirklich schlaue Lösung! –
Ihr Code wurde falsch machen bei diesen Schritten:
- vorherigen
item._id
mit dem Parameter Vergleichid
- immer Speichern der
item
Parameter Doing ein unecessary für
$scope.toCart = function(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 }; var fromSaved = JSON.parse(localStorage.getItem('cart')); if(fromSaved){ var savedItem = $filter('filter')(fromSaved, {id: item._id}); if (savedItem) { fromSaved[fromSaved.indexOf(savedItem[0])].qty++; } toSaveArray = fromSaved; } else { toSaveArray.push(toSaveObj); } localStorage.setItem('cart',JSON.stringify(toSaveArray)); };
Der obige Code sollte für alles abdecken.
- 1. Kämpfen mit responsive Hintergrundbild
- 2. kämpfen mit Federintegration dsl
- 3. In den Warenkorb legen Prozess
- 4. Tracking Woocommerce In den Warenkorb
- 5. Kämpfen mit Rewrite-Taktik in Idris
- 6. cmake: kämpfen mit add_custom_command Abhängigkeiten
- 7. In den Warenkorb API in Magento
- 8. Kämpfen mit VB. Net Lambdas
- 9. In den Warenkorb in PHP und MySql
- 10. Produkt in den Warenkorb legen in Beobachter
- 11. WooCommerce In den Warenkorb Button & Price Hidden
- 12. seltsames Verhalten der primitiven C++ Speicherlogik
- 13. Schaltfläche Löschen in den Warenkorb funktioniert nicht
- 14. Magento2 Wiederverwendung in den Warenkorb legen Formularvorlage
- 15. Weitere Produktinformationen über klicken in den Warenkorb
- 16. Angular js in den Warenkorb legen
- 17. kaufen button-PHP-Programm in den Warenkorb
- 18. In den Warenkorb Funktionalität mit Cookies löscht alle Inhalte?
- 19. In den Warenkorb legen mit arrays druckt mysqli erros
- 20. Kämpfen mit einer MySQL-Datenbank von Telefonnummern
- 21. Produkt in den Warenkorb in WooCommerce hinzufügen von außen Wordpress
- 22. mit Strings und Listen in Python zu kämpfen
- 23. Wie man ein "in den Warenkorb" Popover in Swift machen
- 24. WooCommerce: Warenkorb Preisüberschreibung mit Text
- 25. kämpfen mit NMSSH in swift; Fehler -2, -9, -18,
- 26. Wenn mit canvg den Warenkorb Etikettendruck sind hinter dem Diagramm
- 27. ionischen Warenkorb in angularjs
- 28. Warenkorb aktualisieren mit WooCommerce ajax
- 29. Warenkorb Implementierung
- 30. Wie Transaktionsdaten in den Warenkorb für Arules vorbereiten
'oben Code broken' Wie das? Was macht es? –
Was speziell ist defekt? –
Ich denke, deine Logik ist hier von vorne nach 'toSaveArray.push (fromSaved);' Von dem, was ich sehen kann, wäre es viel sinnvoller, das 'toSaveObj' in den bestehenden Speicher (' fromSaved') zu schieben und dann erneut zu speichern . – DBS