Bil*_*ble 3 local-storage ionic2
我无法让本地存储正常工作.当我做:
this.VEEU_ID = 'veeuID';
this.storage.set(this.VEEU_ID, 11);
alert('Storage was set to: '+JSON.stringify(this.storage.get(this.VEEU_ID)));Run Code Online (Sandbox Code Playgroud)
我明白了:
Storage was set to: {"_id":1733,"_state":1,"_result":"11","_subscribers":[]}Run Code Online (Sandbox Code Playgroud)
我认为this.storage.get(this.VEEU_ID)应该返回值11
Aki*_*fas 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);
})
Run Code Online (Sandbox Code Playgroud)
可以在SqlStorage API页面上找到更多信息
Ionic 2 RC的更新
自Ionic 2 RC发布以来,发生了一些变化:
存储已从离子角移除并放入单独的模块,@ ionic/storage.已更新启动器以添加此功能,如果您正在使用存储系统,请确保将其添加到package.json中.在这里查看更多细节.
以下示例显示了Ionic 2存储的方法:
首先我们编辑NgModule位于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 {}
Run Code Online (Sandbox Code Playgroud)
现在我们可以注入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) {
}
}
Run Code Online (Sandbox Code Playgroud)
将Storage注入组件后,我们可以使用storage.set和storage.get方法:
this.storage.set('name', 'John').then(() => {
console.log('Name has been set');
});
this.storage.get('name').then((name) => {
console.log('Name: ' + name);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15100 次 |
| 最近记录: |