代码之家  ›  专栏  ›  技术社区  ›  Rafael de Castro

离子存储不需要的更改

  •  5
  • Rafael de Castro  · 技术社区  · 6 年前

    我的离子存储有问题。

    当我登录我的应用程序时,它会在存储中保存一些配置对象。 我上次检查的是IndexedDb。

    但如果我保存任何文件更改或只是刷新页面,有时它会从IndexedDb切换到Web SQL。。。

    我所有的数据都“丢失”,因为数据库是新的。

    任何人都知道为什么会这样或如何解决。

    这是我的 应用程序。单元 存储设置

    IonicStorageModule.forRoot({
        name: '__cds',
        driverOrder: ['indexeddb', 'sqlite', 'websql']
    })
    

    我担心当我编译成一个应用程序时,会对此产生影响。 到目前为止,我只从事浏览器开发

    我就是这么定的

    //响应是我从http调用接收的对象

    this.storage.set('cds', response).then(() => {
        this.goHome();
    });
    

    我就是这样得到的

    this.storage.get('cds').then(cds => {
        this.variable = JSON.parse(cds);
    });
    

    enter image description here

    看,这并不是在单个db上“维护”存储

    1 回复  |  直到 6 年前
        1
  •  12
  •   Rafael de Castro    6 年前

    事实证明,问题是Chrome Web开发工具的一个“特性”(我认为)。 你看,当我刷新应用程序时,我正在使用 切换设备工具栏

    enter image description here

    这有助于网页设计。如果您注意到这个标记为 反应敏捷的

    出于许多其他原因,我突然将我的账单改为 Iphone 大小

    enter image description here

    我不知道为什么它会这样工作,但这个小小的改变不仅仅是改变视口大小。。。

    使用中的存储库也发生了变化,我的问题开始出现了。

    对于生产应用程序而言,这不会是一个问题 ,因为我认为用户无法在Chrome开发工具上“切换”视口大小。。。。

    就是这样。谢谢你的帮助!!