添加新cookie angularjs时,旧饼干消失了



我尝试添加cookie。它运行良好,但是当我刷新页面并添加新的cookie时,旧的cookie消失了,而cookie.gength不更新。刷新页面后,它更新。这是我的代码

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}}

我错了。请帮我 。这是我的plnkrhttps://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 ]));
}

这是一个演示。

最新更新