.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