1

データプロバイダーキー「todo」を使用して、データの配列をストレージに設定しました

import { Injectable } from '@angular/core';
import { Storage } from '@ionic/storage';

@Injectable()
export class DataProvider {

  constructor(public storage: Storage) {
    console.log('Hello DataProvider Provider');
  }

  getData() {
    return this.storage.get('todos'); 
  }

  save(data){
    this.storage.set('todos', data);
  }

  remove(id){
    console.log("Removing data ID:",id);
    this.storage.remove(id);
  }


}

は、プロパティid、title、bodyを持つ配列でdata構成されます。

{ id: 0, title: "lorem epsum", body: "lorem epsum" }
{ id: 1, title: "lorem epsum", body: "lorem epsum" }
{ id: 2, title: "lorem epsum", body: "lorem epsum" }
{ id: 3, title: "lorem epsum", body: "lorem epsum" }
{ id: 4, title: "lorem epsum", body: "lorem epsum" }

今、私がやろうとしているのは、から配列を削除することdataです。ID 3の配列を削除したい

{ id: 3, title: "lorem epsum", body: "lorem epsum" }

ストレージ機能remove(key)を使用して 1 つのアレイを削除しました

しかし、それは次のようなエラーを示しています

3 used as a key, but it is not a string.

タイトルを試したいのですが、アイテムのタイトルが一意でない可能性があります。SO、IDを使用して配列を削除しようとしました。

どんな助けでも大歓迎です。

ありがとうございました。

4

2 に答える 2

2

を使用this.storage.remove(key)します。キーは、ストレージ内の配列要素の ID です

于 2018-03-23T13:55:08.313 に答える