ionic

ionic2/3本地数据存储storage

2017-07-11  本文已影响1118人  谢大见

ionic2开始storage默认使用的是IndexedDB,而不是LocalStorage

官方文档:http://ionicframework.com/docs/storage/

存储

存储是存储键/值对和JSON对象的简单方法。存储使用下面的各种存储引擎,根据平台选择最佳的存储引擎。

当在本机应用程序环境中运行时,Storage将优先使用SQLite,因为它是最稳定和广泛使用的基于文件的数据库之一,并避免了诸如本地存储和IndexedDB之类的一些陷阱,例如操作系统决定清除这种数据在磁盘空间不足的情况下。

当在网络中运行或作为逐行Web应用程序运行时,Storage将按顺序尝试使用IndexedDB,WebSQL和localstorage。

用法

首先,如果要使用SQLite,请安装cordova-sqlite-storage插件:

ionic cordova plugin add cordova-sqlite-storage

接下来,安装软件包(默认情况下为Ionic应用程序> Ionic V1):

npm install --save @ionic/storage

接下来,将它添加到您的NgModule声明中的导入列表中(例如,insrc/app/app.module.ts):

import{ IonicStorageModule } from'@ionic/storage';@NgModule({declarations: [// ...],imports: [BrowserModule,IonicModule.forRoot(MyApp),IonicStorageModule.forRoot()],bootstrap: [IonicApp],entryComponents: [// ...],providers: [// ...]})exportclassAppModule {}

最后,将其注入您的任何组件或页面:

import{ Storage } from'@ionic/storage';exportclassMyApp {constructor(private storage: Storage){ }...// set a key/valuestorage.set('name','Max');// Or to get a key/value pairstorage.get('age').then((val) => {console.log('Your age is', val);});}

配置存储

存储引擎可以配置为特定的存储引擎优先级,也可以自定义配置选项传递给localForage。有关可能的选项,请参阅localForage配置文档:https//github.com/localForage/localForage#configuration

注意:任何自定义配置将与默认配置合并

import{ IonicStorageModule } from'@ionic/storage';@NgModule({declarations: [...],imports: [IonicStorageModule.forRoot({name:'__mydb',driverOrder: ['indexeddb','sqlite','websql']})],bootstrap: [...],entryComponents: [...],providers: [...]})exportclassAppModule { }

上一篇下一篇

猜你喜欢

热点阅读