.factory('AddToCart', function ($window) {
var products = {};
products.list = [];
return {
addProduct: function (_sku, _image, _name, _price, _quantity, _remark) {
return products.list.push({
id: products.list.length,
sku: _sku,
image: _image,
name: _name,
price: _price,
quantity: _quantity,
remark: _remark
});
},
updateProduct: function (_id, _sku, _image, _name, _price, _quantity, _remark, _show) {
return products.list[_id] = {
id: _id,
sku: _sku,
image: _image,
name: _name,
price: _price,
quantity: _quantity,
remark: _remark,
show: _show
};
},
saveProduct: function() {
$window.localStorage.setItem("CartProducts", JSON.stringify(products.list));
},
getLocalStorageProduct: function() {
return JSON.parse($window.localStorage.getItem("CartProducts"));
}
}
});
我打電話給他們這樣的:
AddToCart.addProduct(....); //save in list
AddToCart.saveProduct(); //save to local storage
然後我輸出保存項目:
AddToCart.getLocalStorageProduct(); //output the list items
OK,它可以完美運行至今
問題是當我重新加載頁面並調用AddProduct()
和SaveProduct()
時,本地存儲只是重置之前存儲的數據,並開始存儲id1
中的項目。如何在不重置數據前存儲數據?任何想法解決或其他方法來取代本地存儲?
在你的代碼中,你從localStorage加載數據?有函數'getLocalStorageProduct'從不使用。 – Dekel
對不起,我的錯誤在這裏,但我仍然沒有得到我想要的 –
你是否試圖在localstorage中保存一個數組? – Deep