ionic2 storage

Storage介绍

Storage 是一种存储键值对和JSON对象的方式,在底层有很多存储引擎,Storage 会根据品台选择一种最合适的方式:
当运行在本地app环境中时会优先使用SQLite,当运行在web环境中时,会视试图使用IndeDB,webSQL或本地存储

Storage使用

在使用SQLite之前,需要安装cordova-sqlite-storage插件

cordova plugin add cordova-sqlite-storage --save

然后安装包文件,在ionic2中会默认引入

npm install –save @ionic/storage

然后将其添加到NgModule 的providers列表中

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

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

最后将其注入到component中

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

export class MyApp {
  constructor(storage: Storage) {

     storage.ready().then(() => {

       // set a key/value
       storage.set('name', 'Max');

       // Or to get a key/value pair
       storage.get('age').then((val) => {
         console.log('Your age is', val);
       })
     });
  }
}

Storage的实例成员

driver

获取使用的驱动的名字

ready()

返回store的状态

get(key)

返回值

set(key, value)

设置键值对

remove(key)

移除与键关联的值

length()

返回键值对的数量

keys()

返回键的集合

forEach(iteratorCallback)

遍历键值对

Ionic提供了一个名为`Ionic Storage`的基于Promise的本地存储解决方案,可以用于在Ionic应用程序中存储和检索键值对数据。 在Ionic 2/3中,您可以通过以下步骤使用Ionic Storage: 1. 安装Ionic Storage: ``` npm install --save @ionic/storage ``` 2. 在`app.module.ts`文件中导入`IonicStorageModule`并将其添加到`imports`数组中: ``` import { IonicStorageModule } from '@ionic/storage'; @NgModule({ declarations: [ MyApp ], imports: [ BrowserModule, IonicModule.forRoot(MyApp), IonicStorageModule.forRoot() ], bootstrap: [IonicApp], entryComponents: [ MyApp ], providers: [] }) export class AppModule {} ``` 3. 在需要使用本地存储的页面或服务中导入`Storage`: ``` import { Storage } from '@ionic/storage'; ``` 4. 在构造函数中注入`Storage`: ``` constructor(private storage: Storage) {} ``` 5. 使用`Storage`的`set`和`get`方法来存储和检索数据: ``` this.storage.set('name', 'John'); this.storage.get('name').then((name) => { console.log('Name is', name); }); ``` 6. 如果需要使用`async/await`语法,则可以在方法前加上`async`关键字,并使用`await`关键字等待结果: ``` async saveData() { await this.storage.set('age', 30); const age = await this.storage.get('age'); console.log('Age is', age); } ``` 注意:Ionic Storage支持多种本地存储引擎,包括LocalStorage、IndexedDB和SQLite。默认情况下,Ionic Storage使用LocalStorage作为存储引擎,但您可以通过在`forRoot`方法中传递配置选项来更改存储引擎。例如,如果您想使用SQLite作为存储引擎,可以使用以下代码: ``` IonicStorageModule.forRoot({ name: '__mydb', driverOrder: ['sqlite', 'indexeddb', 'websql'] }) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值