从Ionic2本地存储中删除数组



我的数据存储在字符串

我使用json.parse将数据转换为数组

this.items = JSON.parse(todos); 

我有一个结果页面,该页面打印出我的数组:array1array2array3

我都有一个删除按钮,每个数组都从列表中删除项目,而不是从本地存储中删除项目。我做错了吗?

list.html

<ion-item-sliding *ngFor="let item of items">
  <ion-item>
  <p>{{item.amount}}tk X {{item.class}} / {{item.size}}ml / {{item.proof}}%</p>
  </ion-item>
  <ion-item-options>
  <button danger (click)="removePost(item)">
  <ion-icon name="trash"></ion-icon>Remove
  </button>
  </ion-item-options>
  </ion-item-sliding>

list.ts

removePost(item){
    let index = this.items.indexOf(item);
   if(index > -1){
      this.items.splice(index, 1); // works
      this.storage.remove(this.items[index]); // doesn't work
    }
}

如果在本地存储中以JSON数组作为字符串,并且要从本地存储数组中删除对象,则这将不起作用。

您无法删除对象,因为localstorage的整体值是字符串值。您可以做的是使用splice删除值后,您可以再次设置localstorage

removePost(item){
   let index = this.items.indexOf(item);
   if(index > -1){
      this.items.splice(index, 1); // works
      //this.storage.remove(this.items[index]); // doesn't work
      localStorage.setitem("name_of_the_storage",JSON.stringify(this.items))
    }
}

相关内容

  • 没有找到相关文章