我想在CanvasRenderingContext2D上添加一个函数。它的作用是绘制一个圆形文本。
在javascript中,我所需要做的就是编写如下代码:
CanvasRenderingContext2D.prototype.fillTextCircle = function () {
//some code
}
但是在打字稿中却不起作用。
我也尝试了以下两种方法:
1。 在文件头添加以下代码
interface CanvasRenderingContext2D {
fillTextCircle: any;
}
CanvasRenderingContext2D.prototype.fillTextCircle = function () {
//some code
}
2。 在lib.dom.d.ts中添加这一行
interface CanvasRenderingContext2D extends CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath {
readonly canvas: HTMLCanvasElement;
fillTextCircle: any; //add this line in lib.dom.d.ts
}
但它仍然抱怨此错误:
属性“ fillTextCircle”在类型上不存在 “ CanvasRenderingContext2D”。
答案 0 :(得分:0)
只需添加一个global.d.ts,并添加以下代码:
interface CanvasRenderingContext2D {
fillTextCircle: any;
}
它将起作用