Mat*_*vis 5 typescript visual-studio-2015 typescript1.5
我已经使用Typescript 1.5 Beta升级到Visual Studio 2015社区.我收到以下错误.
输入'CanvasRenderingContext2D | WebGLRenderingContext'不能分配给'CanvasRenderingContext2D'类型
这发生在以下行
var canvas: HTMLCanvasElement = $(element).find('canvas').get(0);
var ctx: CanvasRenderingContext2D = canvas.getContext("2d");
Run Code Online (Sandbox Code Playgroud)
我已将TypeScript工具版本设置为1.4和1.5并获得相同的错误.
Fen*_*ton 12
从该错误消息,的返回类型getContext似乎是一个联合类型,这意味着它是中的任一个CanvasRenderingContext2D或WebGLRenderingContext.
编译器无法分辨哪个,所以你需要帮助它:
var ctx = <CanvasRenderingContext2D> canvas.getContext("2d");
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试使用最新版本的一切,这可以正常工作:
var canvas = <HTMLCanvasElement> $('#example').find('canvas').get(0);
var ctx: CanvasRenderingContext2D = canvas.getContext("2d");
Run Code Online (Sandbox Code Playgroud)
所以它看起来不太对劲.
当前的定义getContext有一个专门的签名,值为"2d",应该给你一个CanvasRenderingContext2D.这是三个签名......
CanvasRenderingContext2DWebGLRenderingContextstring:CanvasRenderingContext2D | WebGLRenderingContext如果它不能识别传入的字符串,它应该只返回联合类型.
如果您在键入(after后自动完成没有建议这三个重载getContext,则可能表示存在问题.
| 归档时间: |
|
| 查看次数: |
6664 次 |
| 最近记录: |