【发布时间】:2015-08-01 16:11:26
【问题描述】:
在我的 Ionic Framwork 应用程序中,我有一个购物车数组存储在有角度的 localStorage 像这样
localStorage.setItem('mycart', JSON.stringify(items));
然后我像这样检索 localStorage 数组
var cart_items = JSON.parse(localStorage.mycart);
输出
[{"id":"1","item_name":"pepsi","qty":"2"},{"id":"2","item_name":"coke","qty":"2"},
{"id":"3","item_name":"fanta","qty":"3"}]
我正在尝试使用以下代码删除产品项目。但它不起作用,它会删除数组中的整个项目
for ( var i = 0; i < cart_items.length; i++ ) {
if ( cart_items[i].id === $removeId ) { //
cart_items.splice(i,1);
}
}
localStorage.mycart= JSON.stringify(cart_items );
它删除数组中的所有项目
【问题讨论】:
-
你能准确地说出“$removeId”的来源吗?
-
$removeId // the id of the item -
我知道它是项目的 id,但你能添加“在哪里”初始化它吗?
-
我通过像
function($removeId )这样的参数传递id的值,removeId包含项目id的值 -
在命名变量时不应该使用 $。 $ 是 Angular 内置服务的保留字符。我实际上不明白为什么它不起作用。我的意思是它应该工作。您能否提供代码 sn-p 或解决问题的 plunker ?我帮你做这件事会更容易。
标签: arrays angularjs local-storage