我正在用Typescript开始我的旅程。所以,我有video
标记在我的HTML和.ts
文件这些行:Typescript“属性在类型元素上不存在”
...
class KomakhaPlayer {
private container = ...;
private video: Element = this.container.getElementsByClassName('video')[ 0 ];
private controls = ...;
constructor(){
this.video.controls = false; // ts error
...
}
}
...
正如你可以看到this.video
有元类型,但低于this.video.controls
抛出我的打字稿错误住宅“控制”不存在于类型'元素'。
临时,我改变Element
类型any
,但我想知道如何妥善解决这个错误并处理今后类似。提前致谢!
SOLUTION: 所以正确的方法是定义是这样的:
private video: HTMLVideoElement = <HTMLVideoElement>this.container.getElementsByClassName('video')[ 0 ];
说明通过下面@deceze在评论
使用'this。控制“不?而不是'this.video.controls' – Smit
'Element'是一个自定义类,或者它是你正在使用的库的一部分 – Gab
@Smit,no''this.video.controls'',** controls ** is a视频标签的属性 – lomboboo