angular - TypeScript Path2D-klass saknar en strängkonstruktor
Jag försöker skapa ett Path2D-objekt från en SVG-strängväg. Enligt Path 2D-dokumentationen från Mozilla är det möjligt att skicka en strängväg som parameter, men när jag försöker det i min kod visar Webstorm IDE detta fel:
TS2345: Argument of type "" is not assignable to parameter of type 'Path2D'
Koden jag försöker köra är:
let p = new Path2D('M10 10 h 80 v 80 h -80 Z');
Jag har upptäckt att lib.d.ts, där Path2D är deklarerad, inte har en strängkonstruktör för Path2D-klassen.
Hur kan jag lösa detta problem? Jag använder Typescript 2.2.1
Svar #1
Det finns en öppen bugg Path2D saknar strängkonstruktor
Wokraround är att skapa dina egna typer
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);
Se även
- Att använda Path2D i ett TypeScript-projekt är inte löst
