2017-04-26 21 views
0

の「削除」私は「@イオン/ストレージ」ストレージからランタイムエラーは、プロパティを読み取ることができません未定義

インポート{ストレージ}を使用していますランタイムエラーにを与えるプロパティを読み取ることができません未定義使用時の「削除」this.storage.remove( 'key'); Error

これは私が使用私の機能コードです:こと

import { Storage } from '@ionic/storage'; 

constructor(private storage: Storage) { 

} 

logout(): void { 
    this.storage.remove(this.HAS_LOGGED_IN); 
    this.storage.remove('email'); 
    this.events.publish('user:logout'); 
}; 

注:this.storage.remove

logout(): void { 
      this.storage.remove(this.HAS_LOGGED_IN); 
      this.storage.remove('email'); 
      this.events.publish('user:logout'); 
      }; 
+0

ストレージはどこに定義されていますか? – devqon

+0

@ ionic/storageをapp.module.tsに追加しましたか? –

+0

はいstorage.set()とstorage.get()はうまく動作します – moreshwar

答えて

0

あなたはコンストラクタでstorageオブジェクトを注入する必要がありますあなたのアプリにストレージモジュールを登録する必要があります:

import { IonicStorageModule } from '@ionic/storage'; 

@NgModule({ 
    declarations: [ 
     // ... 
    ], 
    imports: [ 
     IonicModule.forRoot(MyApp), 
     IonicStorageModule.forRoot() 
    ], 
    bootstrap: [IonicApp], 
    entryComponents: [ 
     // ... 
    ], 
    providers: [] 
}) 
export class AppModule {} 

this documentation

+0

はい@devqon私はapp.module.tsにIonicStorageModuleをインポートしました。 – moreshwar

0

がイオン-ネイティブパッケージのインストール> $のNPMは、イオン性、ネイティブ--save

をインストールし、それが好き使用を参照してください:

import { Storage } from 'ionic-native 

//and in component class call it like this 

Storage.remove('email'); 

あなたがあれば、それを注入する必要がいけませんラッパーを使用していません

関連する問題