2017-05-04 1 views
2

Ich versuche, ein Path2D-Objekt aus einem SVG-Zeichenfolgenpfad zu erstellen. Nach dem Path 2D documentation von Mozilla ist es möglich, einen String Pfad als Parameter zu übergeben, aber wenn ich es in meinem Code versuchen, zeigen die WebStorm IDE mir diesen Fehler:TypeScript Path2D-Klasse fehlt ein Zeichenfolgenkonstruktor

TS2345: Argument of type "" is not assignable to parameter of type 'Path2D' 

Der Code, den ich zu versuchen bin auszuführen ist:

let p = new Path2D('M10 10 h 80 v 80 h -80 Z'); 

ich herausgefunden habe, dass die lib.d.ts, wo die Path2D deklariert wird, nicht über ein String-Konstruktor für die Path2D Klasse.

Wie kann ich dieses Problem lösen? Ich verwende Typoskript 2.2.1

Antwort

2

Es ist offen Fehler Path2D missing string construtor

Wokraround ist Ihren eigenen Typs

interface Path2DConstructor { 
    new(): Path2D; 
    new (d: string): Path2D; 
    new (path: Path2D): Path2D; 
    prototype: Path2D; 
} 
declare var Path2D: Path2DConstructor; 

var p = new Path2D('M10 10 h 80 v 80 h -80 Z'); 
ctx.fill(p); 

Siehe auch

+0

Schaffung danke , @ yurzui. Wo sollte ich diesen Code-Frieden platzieren? Ich versuche, es in die lib.d.ts aufzunehmen, aber leider kann ich es nicht bearbeiten. –

+0

Sie müssen diesen Code in den Header der Datei einfügen, wo Sie diese Definitionen verwenden werden – yurzui

+0

Erstaunlich! Es hat funktioniert wie ein Zauber! Vielen Dank! –

Verwandte Themen