我正在使用 Typescript 开始我的旅程。所以我video在我的 Html 和.ts文件这些行中有标记:
...
class KomakhaPlayer {
private container = ...;
private video: Element = this.container.getElementsByClassName( 'video' )[ 0 ];
private controls = ...;
constructor(){
this.video.controls = false; // ts error
...
}
}
...
Run Code Online (Sandbox Code Playgroud)
如您所见,this.video具有Element类型,但下this.video.controls面向我抛出 Typescript 错误Property 'controls' does not exist on type 'Element'。
临时我将Element类型更改为any,但我想知道如何正确解决此错误并在将来处理类似的问题。提前致谢!
解决方案: 所以正确的方法是这样定义:
private video: HTMLVideoElement = <HTMLVideoElement>this.container.getElementsByClassName( 'video' )[ 0 ];
Run Code Online (Sandbox Code Playgroud)
@deceze在评论中的解释
我的情况
我已经在 Ubuntu 14.04 上使用n安装了 Node v6.2.0 版本。它位于路径/usr/local/n/versions/node/6.2.0 下(通过使用npm 前缀 -g)。
我的全局包安装在lib/node_modules下的那个目录中,但我不能从命令行全局使用这些包。
注意 早些时候我使用旧版本的 Nodejs 5 以不同的方式安装。使用该版本的 Node 全局安装的软件包现在可用,但不是我现在安装的新软件包。
我的问题
是否有技巧或东西指向可以全局使用其包的node_modules目录?