首页
学习
活动
专区
圈层
工具
发布

Ionic3学习笔记(七)Storage

Storage可以很容易的存储键值对和JSON对象。Storage在底层使用多种存储引擎,根据运行平台选择最佳的存储方式。 当运行在Native模式时,Storage将优先使用SQLite。 当运行在Web中或作为PWA应用时,Storage将根据你确定的优先级使用IndexedDB、WebSQL或localstorage。

1. 安装

如果需要使用SQLite,先安装 Cordova-sqlite-storage ,命令行输入

代码语言:javascript
复制
ionic cordova plugin add cordova-sqlite-storage
npm install --save @ionic-native/sqlite

./src/app/app.module.ts 中添加

代码语言:javascript
复制
import { IonicStorageModule } from '@ionic/storage';

@NgModule({
  declarations: [...],
  imports: [
    ...,
    IonicStorageModule.forRoot()
  ],
  bootstrap: [...],
  entryComponents: [...],
  providers: [...]
})

export class AppModule { }

2. 配置

配置存储引擎优先级,在 ./src/app/app.module.ts 中添加

代码语言:javascript
复制
import { IonicStorageModule } from '@ionic/storage';

@NgModule({
  declarations: [...],
  imports: [
    ...,
    IonicStorageModule.forRoot({
      name: 'myApp',
      driverOrder: ['sqlite', 'indexeddb', 'websql']
    })
  ],
  bootstrap: [...],
  entryComponents: [...],
  providers: [...]
})

export class AppModule { }

3. 使用

代码语言:javascript
复制
import {Injectable} from '@angular/core';

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

@Injectable()
export class UserData {

  constructor(public storage: Storage) {
  }

  setUsername(username: string): void {
    this.storage.set('username', username);
  }

  getUsername(): Promise<string> {
    return this.storage.get('username').then((value) => {
      return value;
    });
  }
  
}

更多可详见

  1. Ionic Storage
  2. GitHub - localForage
下一篇
举报
领券