【问题标题】:Property 'storage' does not exist on type 'Navigator'“导航器”类型上不存在属性“存储”
【发布时间】:2017-10-26 14:40:52
【问题描述】:

我正在尝试使用以下命令行从 Angular2 组件获取配额存储信息:

navigator.storage.estimate().then((data) => console.log(data));

该命令在纯 Javascript 脚本中正常工作,但在 Angular2/Typescript 中无法编译。

你能帮帮我吗?

谢谢

【问题讨论】:

  • 你能解释一下为什么这个问题涉及到 indexedDB 吗?
  • 嗨 Josh,因为上面的命令是用来获取 indexedDb 配额存储信息的

标签: typescript indexeddb


【解决方案1】:

我遇到了同样的问题,我找不到任何可用的@types StorageManager 接口。

我的临时解决方案是在我的代码中手动声明它。

declare global {
  interface StorageEstimate {
    quota: number;
    usage: number;
  }
  interface Navigator {
    storage: {
      estimate: () => Promise<StorageEstimate>;
      persist: () => boolean;
      persisted: () => boolean;
    };
  }
}

【讨论】:

    【解决方案2】:

    什么是导航器?我猜它是窗口上的一个全局变量,没有任何类型,所以你应该为此添加一个输入条目

    https://github.com/typings/typings

    【讨论】:

    • 是一个可以通过Js访问的浏览器对象
    猜你喜欢
    • 2018-05-29
    • 2023-03-11
    • 2019-09-07
    • 2019-08-16
    • 1970-01-01
    • 2019-09-01
    • 2016-11-17
    • 2021-03-26
    • 2019-09-08
    相关资源
    最近更新 更多