angular使用canvas操做时报错

最近,用 angular 前端框架为应用登陆新增图形验证码认证,因为没有现成的插件,因而便使用canvas+js操做,也是能够正常使用,可是在编译阶段却有个报错:前端

ERROR in src/app/login/login.component.ts(84,19): error TS2339: Property 'getContext' does not exist on type 'HTMLElement'.

  虽然报错,可是确实能够正常执行,非常奇怪。报错的代码为:canvas

let c = document.getElementById("myCanvas") ;
let ctx = c.getContext("2d");

  查看源码是有 getContext() 这个方法的。后面想是否是类型致使的呢,因而,使用类型断言(不影响代码运行,只是在编译阶段起做用)修改代码入下:bash

let c = document.getElementById("myCanvas")  as HTMLCanvasElement;
let ctx = c.getContext("2d");

  编译正常经过。后面了解,还有另一种断言方式:前端框架

let c = <HTMLCanvasElement> document.getElementById("myCanvas") ;
let ctx = c.getContext("2d");

  以上都可编译经过,由于 getContext() 是在 HTMLCanvasElement 中定义的,所以,咱们须要指定类型。app

 

以上框架

相关文章
相关标签/搜索