TypeScript:类型系统问题
我只是在VisualStudio 2012中测试打字稿,并且打字稿系统有问题。我的html站点有一个id为“ mycanvas”的canvas标记。我正在尝试在此画布上绘制一个矩形。这是代码 var canvas = document.getElementById("mycanvas"); var ctx: CanvasRenderingContext2D = canvas.getContext("2d"); ctx.fillStyle = "#00FF00"; ctx.fillRect(0, 0, 100, 100); 不幸的是,VisualStudio抱怨 属性“ getContext”在类型“ HTMLElement”的值上不存在 它将第二行标记为错误。我以为这只是一个警告,但是代码无法编译。VisualStudio说 出现构建错误。您要继续并运行上一次成功的构建吗? 我根本不喜欢这个错误。为什么没有动态方法调用?毕竟,getContext方法肯定存在于我的canvas元素上。但是我认为这个问题很容易解决。我刚刚为画布添加了类型注释: var canvas : HTMLCanvasElement = document.getElementById("mycanvas"); var ctx: CanvasRenderingContext2D = canvas.getContext("2d"); ctx.fillStyle = "#00FF00"; ctx.fillRect(0, 0, 100, 100); 但是类型系统仍然不满意。这是新的错误消息,这次是在第一行: 无法将“ HTMLElement”转换为“ HTMLCanvasElement”:类型“ HTMLElement”缺少类型“ HTMLCanvasElement”的属性“ …