javascript - 如何在打字稿中向 CanvasRenderingContext2D 原型添加函数
问题描述
我想在 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
}
但它仍然抱怨这个错误:
类型“CanvasRenderingContext2D”上不存在属性“fillTextCircle”。
解决方案
推荐阅读
- c# - C# HttpWebRequest “底层连接已关闭:预期保持活动状态的连接已被服务器关闭。”
- groovy - Groovy 中的惰性映射值
- python - Python-将元组列表拆分为子列表
- elasticsearch - Elasticsearch Sink Connector 是否像 JDBC sink 连接器一样支持主键上的 upsert 模式?
- ruby - 如何将黄瓜连接到 oracle 数据库以验证 xml
- java - 如果我们要升级操作系统和数据库版本,是否需要对 Java Web 应用程序代码进行修改?
- javascript - highcharts悬停效果问题
- java - LWJGL 帧率与 Nvidia GPU 锁定
- excel - 创建度量以计算矩阵中的非空白单元格
- assembly - 尝试在基于 ARM 的程序集中的堆栈上保存使用的寄存器和返回地址时出现数据中止错误