Arrays 从ionic2本地存储中删除阵列

Arrays 从ionic2本地存储中删除阵列,arrays,angular,typescript,ionic2,storage,Arrays,Angular,Typescript,Ionic2,Storage,我的数据存储在一个字符串中 我使用JSON.parse将数据转换为数组 this.items = JSON.parse(todos); 我有一个结果页面,可以打印出我的阵列: 阵列1 阵列2 阵列3 我在每个数组后面都有一个删除按钮,它从列表中删除项目,但不从本地存储中删除。我做错什么了吗 list.html <ion-item-sliding *ngFor="let item of items"> <ion-item> <p>{{item.amo

我的数据存储在一个字符串中

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

this.items = JSON.parse(todos); 
我有一个结果页面,可以打印出我的阵列: 阵列1 阵列2 阵列3

我在每个数组后面都有一个删除按钮,它从列表中删除项目,但不从本地存储中删除。我做错什么了吗

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>

如果本地存储中有一个JSON数组作为字符串,并且希望从本地存储数组中删除一个对象,那么这将不起作用

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

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

如果本地存储中有一个JSON数组作为字符串,并且希望从本地存储数组中删除一个对象,那么这将不起作用

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

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

您是否将数据存储在本地存储器中?本地存储不接受数组或对象,它只接受strings.this.items=JSON.parse(todos);this.items[index]这是一个对象,对吗?您能分享存储项的屏幕截图吗?您是否将数据存储在本地存储器中?本地存储不接受数组或对象,它只接受strings.this.items=JSON.parse(todos);this.items[index]这是一个对象,对吗?您可以共享存储项的屏幕截图吗?