AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
[TOC] 当在本机应用程序上下文中运行时,Storage将优先使用SQLite,因为它是最稳定和最广泛使用的基于文件的数据库之一,并且避免了诸如localstorage和IndexedDB之类的一些陷阱,例如操作系统决定清除低磁盘空间情况下的此类数据。 在Web中运行或作为Progressive Web App运行时,Storage将尝试按顺序使用IndexedDB,WebSQL和localstorage。 ## 用法 首先,如果您想使用SQLite,请安装cordova-sqlite-storage插件: ~~~ ionic cordova plugin add cordova-sqlite-storage ~~~ 接下来,安装软件包(默认情况下为Ionic应用程序> Ionic V1提供): ~~~ npm install --save @ionic/storage ~~~ 接下来,将其添加到`NgModule`declaration中的导入列表中(例如,在`src / app / app.module.ts`中): ~~~ import { IonicStorageModule } from '@ionic/storage'; @NgModule({ declarations: [ // ... ], imports: [ BrowserModule, IonicModule.forRoot(MyApp), IonicStorageModule.forRoot() ], bootstrap: [IonicApp], entryComponents: [ // ... ], providers: [ // ... ] }) export class AppModule {} ~~~ 最后,将其注入您的任何组件或页面: ~~~ import { Storage } from '@ionic/storage'; export class MyApp { constructor(private storage: Storage) { } ... // 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); }); } ~~~ ### 配置存储 可以使用特定存储引擎优先级配置存储引擎,也可以将自定义配置选项配置为传递给localForage。有关可能的选项,请参阅localForage配置文档:[https://github.com/localForage/localForage#configuration](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: [...] }) export class AppModule { } ~~~ ## 实例成员 ### constructor 使用驱动程序顺序创建新的Storage实例,并将任何其他配置选项传递给LocalForage。 可能的驱动程序选项是:\ ['sqlite','indexeddb','websql','localstorage'\],默认是精确排序。 ### driver 获取正在使用的驱动程序的名称。 ### clear() 清除整个键值存储。警告:热! **返回:**返回清除商店时解析的承诺 ### forEach() 遍历每个键值对。 **返回:**返回迭代完成时解析的promise。 #### 参数 ##### iteratorCallback 表单的回调(value,key,iterationNumber) ### get() 获取与给定键关联的值。 **返回:**返回具有给定键值的promise #### 参数 ##### 键 **型号:**`string` 识别这个价值的关键 ### keys() **返回:**返回使用商店中的键解析的promise。 ### length() **返回:**返回一个使用存储的密钥数解析的promise。 ### ready() 反映商店的准备情况。 **返回:**返回在商店准备就绪时解析的承诺 ### remove() 删除与此键关联的任何值。 **返回:**返回在删除值时解析的promise #### 参数 ##### 键 **型号:**`string` 识别这个价值的关键 ### set() 设置给定键的值。 **返回:**返回在键和值ar时解析的promise