我正在尝试添加cookie。它工作得很好,但是当我刷新页面并添加新的 cookie 时,旧的 cookie 消失,并且 cookies.length 不更新。我刷新页面后它会更新。这是我的代码
vm.cart = [];
vm.add = function(tensp,gia,img){
vm.cart.push({tensp:tensp,gia:gia,img:img,sl:1})
$cookies.putObject('cart',vm.cart);
}
并以html形式显示。
vm.cookies = $cookies.getObject('cart');
{{vm.cookies.length}}
我哪里错了。请帮我 。这是我的 plnkr https://plnkr.co/edit/StURuPuEBr8ykIUPdvBV?p=preview
最佳答案
每当您刷新页面时。 vm.cart
将设置为 []
。当您点击“添加”时,一件商品将被添加到 vm.cart
中。 vm.cart
现在包含一项。当 vm.cart
放入 cookie 时,cookie 中的所有现有项目都将被覆盖。
如果您想将所有项目保留在 Cookie 中,请将项目直接放入 Cookie 并直接从 Cookie 中检索项目,如下所示
var item = {
id: id,
masp: masp,
tensp: tensp
};
var cart = $cookies.getObject('cart');
if (cart) {
var items = JSON.parse(cart);
items.push(item);
$cookies.putObject('cart', JSON.stringify(items));
} else {
$cookies.putObject('cart', JSON.stringify([ item ]));
}
这是一个demo .
关于javascript - 添加新cookie时旧cookie消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43534038/