【发布时间】:2017-07-07 19:53:53
【问题描述】:
我正在使用带有存储功能的 ionic 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 为什么?
但实际上,Storage products的长度是3。对吗?
我不知道。
请多多指教,
谢谢。
【问题讨论】:
-
当你取消一个项目时,你更新
this.length而不是this.badge。当您获得存储计数时,情况恰恰相反。但是,您说当您取消一个项目时,两个值都会更新。我认为你没有分享足够的代码让我们看到整个画面。就像没有什么告诉我们,当您使用addItemToCarts添加项目时计数会更新。我们缺少您的代码部分之间的链接。
标签: ionic-framework ionic2 ionic3