离子 2 存储无法正常工作



我正在使用带有存储的离子2。

我开发了一个电子商务应用程序。

如果有任何产品添加到购物车,我将使用存储来存储产品。

这是我的函数

//Add to cart
addItemToCarts(item)
{
this.items.push(item);
this.storage.set('products',this.items);
}

这是工作,我也显示徽章计数这意味着products长度。

获取storage(products)长度。这是我的代码

//Get cart Count
this.storage.get('products').then((data) => {
if(data != null)
{
this.badge='';
this.badge=data.length;
this.Cartproducts=data;
console.log("data");
console.log(data);
}
});

如果我删除购物车中的任何产品。使用此代码,然后再次设置为"存储"。

这是我的代码

cancel(i)
{
console.log(i);
this.Cartproducts.splice(i, 1);
var item=this.Cartproducts;
this.length=this.Cartproducts.length;
console.log(this.Cartproducts);
this.storage.remove('products');
this.storage.set('products',item);
}

示例 我的购物车页面产品长度为 3.如果我删除任何一个产品并且长度为 2.徽章计数也为 2。

如果再次添加任何一种产品。存储产品长度为4为什么?

但实际上,存储产品的长度 3.Is 对吗?

我不知道。

请告诉我,

谢谢。

我认为addItemToCarts有一些问题。您正在addItemToCarts函数中推送this.items数据,并且正在从Cancel函数Cartproducts数组中删除项目并进行存储。理想情况下,您的函数"addItemToCarts"应如下所示。

//Add to cart
addItemToCarts(item)
{
this.Cartproducts.push(item);
this.storage.set('products',this.Cartproducts);
}

相关内容

  • 没有找到相关文章

最新更新