@ViewChild 变量应该具有什么类型?

Mik*_*red 9 typescript viewchild angular

如果我有一个像这样的组件,它引用本机 HTML 元素,那么应该使用什么类型注释?

@Component({
    template: `<video #test></video`
})
export class AppComponent {
    @ViewChild('test') test: any;

    constructor() {
        let nativeElement = this.test.nativeElement;
    }
}
Run Code Online (Sandbox Code Playgroud)

Mik*_*red 9

ElementRef<>应使用该类型,例如

@Component({
    template: `<video #test></video`
})
export class AppComponent {
    @ViewChild('test') test: ElementRef<HTMLVideoElement>;

    constructor() {
        let nativeElement = this.test.nativeElement;
        // nativeElement now has type HTMLVideoElement
    }
}
Run Code Online (Sandbox Code Playgroud)