Utilisation de Angular 2 sur un projet qui est compilé avec TypeScript.
Obtenir cette erreur lors de la tentative de création d'une image blob:
error TS2339: Property 'webkitURL' does not exist on type 'Window'
son code est:
public url = window.URL || window.webkitURL; this.photo = this.url.createObjectURL( res );
erreur TS2339: la propriété 'webkitURL' n'existe pas sur le type 'Window'
Le lib.d.ts n'est pas livré avec des éléments spécifiques au navigateur. Cependant, vous pouvez facilement faire (window as any).webkitURL
. Cela s'appelle une assertion de type .
Le commun (as any)
L'assertion de type de style est un correctif fourni par alm: https://basarat.gitbooks.io/alm/content/features/quickfix.html
La solution qui fonctionne à partir de TypeScript 2.1.5:
interface Window {
webkitURL?: any;
}
declare var window: Window;
if (window.webkitURL !== undefined) {
console.log(window.webkitURL);
}
Dans le code ci-dessus, nous avons déclaré une interface/forme pour Window qui aura éventuellement webkitURL défini, puis nous vérifions qu'il est défini.