我无法让本地存储空间正常工作。当我这样做时:
this.VEEU_ID = 'veeuID';
this.storage.set(this.VEEU_ID, 11);
alert('Storage was set to: '+JSON.stringify(this.storage.get(this.VEEU_ID)));

我明白了:
Storage was set to: {"_id":1733,"_state":1,"_result":"11","_subscribers":[]}

我认为this.storage.get(this.VEEU_ID)
应该返回值11
答案 0 :(得分:10)
从存储中获取数据是异步的,这意味着我们的应用程序将在数据加载时继续运行。承诺允许我们在数据加载完成后执行某些操作,而不必暂停整个应用程序
所以一个例子应该是:
//set a value in storage
this.storage.set("age", 25);
//get the value from storage
this.storage.get("age").then((value) => {
alert('Storage value: '+ value);
})
上找到更多信息
Ionic 2 RC更新
自Ionic 2 RC发布以来,发生了一些变化:
存储已从离子角移除并放入单独的模块,@ ionic / storage。已更新启动器以添加此功能,如果您正在使用存储系统,请确保将其添加到package.json中。在这里查看更多详细信息。
以下示例显示了如何进行Ionic 2存储:
首先,我们修改位于NgModule
的{{1}}。重要的是将src/app/app.module.ts
添加为提供者:
Storage
现在我们可以将import { Storage } from '@ionic/storage';
@NgModule({
declarations: [
...
],
imports: [
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
...
],
providers: [ Storage ] // Make sure you do that!
})
export class AppModule {}
注入我们的组件:
Storage
将存储注入组件后,我们可以使用import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Storage } from '@ionic/storage';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(public navCtrl: NavController, public storage: Storage) {
}
}
和storage.set
方法:
storage.get