我正在用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