2017-05-04 58 views
2

我试图从SVG字符串路径创建Path2D对象。按照Path 2D documentation从Mozilla的,它可能通过一个字符串路径作为参数,但是,当我尝试在我的代码中,Webstorm IDE告诉我这个错误:TypeScript Path2D类缺少字符串构造函数

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

我想要的代码执行是:

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

我发现该lib.d.ts,其中Path2D声明,没有为Path2D类的字符串构造函数。

我该如何解决这个问题?我使用的是打字稿2.2.1

回答

2

有开放的bug Path2D missing string construtor

Wokraround是创建自己的类型

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); 

参见

+0

谢谢,@yurzui。我应该在哪里放置这种和平的代码?我试图将它包含在lib.d.ts中,但不幸的是,我无法编辑它。 –

+0

您需要将此代码插入文件的标题中,您将使用这些定义 – yurzui

+0

令人惊叹!它像一个魅力一样工作!谢谢! –

相关问题