this.video.exitFullscreen();
我收到此错误:
[ts]属性“ exitFullscreen”不存在
输入“ HTMLVideoElement”
这个方法确实存在,我对视频的引用是100%正确的,因为我在代码中使用了很多次。我该如何解决这个问题,以便打字稿可以编译而不会给我这个错误?
我找到了一个建议实现这样的接口的答案:
interface Document {
exitFullscreen: () => void;
mozCancelFullScreen: () => void;
webkitExitFullscreen: () => void;
fullscreenElement: () => void;
mozFullScreenElement: () => void;
webkitFullscreenElement: () => void;
}
但是如果我已经定义了两个接口(用于状态和道具)并且我的班级已经在使用它们,那么该如何使用该接口:
class Player extends React.Component<IProps, IState> { ... }
我不能在此类上使用第三个接口。我该如何解决这个问题?
最佳答案
据我所知,您正在寻找document.exitFullscreen,因为根据MDN,HTMLVideoElement.exitFullscreen
不存在。
您可以尝试document.exitFullscreen()
吗?而不是在exitFullscreen
上调用this.video
。
正如您所指出的,打字稿不知道moz前缀函数,因此将此文件添加到项目中的任何位置(不必从其派生)应该消除document.mozCancelFullScreen
的编译器错误。
interface Document {
mozCancelFullScreen: () => void;
mozFullScreenElement: Element;
}
关于javascript - TypeScript提示正确的HTML5全屏API方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47053567/