typescript - Proprietatea 'storage' nu există pe tipul 'Navigator'


Încerc să obțin informațiile despre cota de stocare dintr-un component Angular2 cu această linie de comandă:

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

Comanda funcționează corect într-un script Javascript pur, dar nu se compilează în Angular2/Typescript.

Mă poți ajuta?

Mulțumesc

Răspuns #1

Am avut aceeași problemă și nu am putut găsi niciun @types disponibil pentru interfața StorageManager.

Soluția mea temporară a fost să o declar manual în codul meu.

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

Răspunsul #2

ce este navigator? Presupun că este o variabilă globală pe window fără niciun tip, așa că ar trebui să adaugi o intrare de tipizare pentru aceasta

https://github.com/typings/typings