流式检查querySelector / querySelectorAll元素的正确方法是什么?

时间:2017-05-17 10:30:52

标签: javascript flowtype ecmascript-next

背景

我正在实现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中将元素声明为类型是否有一个干净的解决方案?

0 个答案:

没有答案
相关问题