我正在实现Flow来在javascript中检查我的属性。它复古,所以我从一个小班开始。
我正在使用es2017 stage-2属性定义,见here
我的类的大多数属性都是使用querySelector检索的dom元素。
我遇到了为这些元素获取正确类型的问题。例如
export default class myClass {
myElement: HTMLElement = document.querySelector('.myElement');
constructor () {
if (this.myElement !== null) {
this.myFunc(this.myElement);
}
}
myFunc (element: HTMLElement) {
...
}
}
此操作失败,说this.myElement
if为null且与myFunc (element: HTMLElement)
我看到了另一个与iFrame类似的问题。但解决方案非常混乱。它涉及铸造任何,然后到你正确的元素。喜欢
var myIframe = ((document.querySelector('iframe'): any): HTMLIFrameElement);
我不想每次都像这样投射元素。
在Flow中将元素声明为类型是否有一个干净的解决方案?