【发布时间】:2016-03-05 07:44:08
【问题描述】:
我正在尝试使用 flowtype 来检查一些文件。
不幸的是,我无法让它与 dom 对象一起使用:
我有这个代码
this.canvasContext = this.canvas.getContext('2d');
..返回此错误:
src/CanvasManager.js:43
43: this.canvasContext = this.canvas.getContext('2d');
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call of method `getContext`. Function cannot be called on
43: this.canvasContext = this.canvas.getContext('2d');
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ HTMLCanvasElement
所以基本上 flow 可以识别HTMLCanvasElement,但似乎不知道它有一个getContext 方法。
我错过了什么吗? 如果没有,有没有办法扩展 DOM 定义?
创建我自己的HTMLCanvasElement 定义将导致名称不匹配:
src/PlayingField.js:23
23: constructor(gameController: GameController, canvas: HTMLCanvasElement) {
^^^^^^^^^^^^^^^^^ HTMLCanvasElement. This type is incompatible with
23: constructor(gameController: GameController, canvas: HTMLCanvasElement) {
^^^^^^^^^^^^^^^^^ HTMLCanvasElement
【问题讨论】:
-
有错误信息不完整:“函数不能被调用”...它说什么?
-
消息是完整的,但它很麻烦:- 它只是分成不同的行
call of method `getContext`. Function cannot be called on HTMLCanvasElement
标签: javascript dom gulp ecmascript-6 flowtype