为什么我的数据保存在WebSQL中而不保存在IndexedDB中?(离子的)

Ale*_*ioF 5 storage web-sql indexeddb ionic-framework

我不明白这件事。我需要将数据存储在数据库中,因此,按照离子文档的说明,我完全按照本页的说明进行了操作:

https://ionicframework.com/docs/storage/

我在网络上阅读到不推荐使用WebSQL,所以我想使用IndexedDB来存储数据。问题是,使用get / set方法并运行“离子服务”时,我看到数据存储在WebSQL中(以字符串形式,很难在IndexedDB中看到对象)。

我究竟做错了什么?如何存储在IndexedDB中,为什么比WebSQL更喜欢它?

fas*_*.de 1

来自文档

配置存储

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

您必须正确传递订单。

IonicStorageModule.forRoot({
  name: '__mydb',
     driverOrder: ['indexeddb', 'sqlite', 'websql']
})
Run Code Online (Sandbox Code Playgroud)

如果是这样删除sqlite并重websql

  • 该链接是关于“草料”的(我不知道它是什么)。事实上,如果我编写删除“sqlite”和“websql”的代码,我会收到错误“错误:找不到可用的存储方法”。 (2认同)
  • @AlessioF chrome 开发工具存在一个问题。尺寸选择中预定义的 iPhone 尺寸不支持 indexeddb 作为存储。在这种情况下,Ionic Storage/localForage 会回退到使用 websql。由于回退,在响应式 <> iPhone 等尺寸之间切换也可能导致重复的存储条目。另请参阅我对此答案的评论/sf/ask/3525887851/。 (2认同)