我已经为我的打字稿应用程序启用了strictNullChecks
。我使用的是用打字稿编写的RXJS 5。但是,它尚未启用strictNullChecks
。
因此,当我进行以下操作时:
Observable.fromEvent(document.getElementById('button'), 'click')
我有以下错误:
Error TS2345: Argument of type 'HTMLElement | null' is not assignable to parameter of type 'EventTargetLike'.
Type 'null' is not assignable to type 'EventTargetLike'.
换句话说,当rxjs说第一个参数应该是 EventTargetLike
时,实际上意味着它应该大致是一个 EventTargetLike | null
-这就是它的本质,当使用其typescript配置时。
是否有一种方法可以在可用时获取typeScript使用库的配置(即,如本问题所述,不关闭类型检查Alltogether,并且对于非默认库不起作用)。
<</p>实际上的意思是它应该大致是eventtargetike |null
可能不是。它实际上想要一个目标,而您不应该传递可能是无效的东西。快速修复:
let btn = document.getElementById('button');
Observable.fromEvent(btn!, 'click');
在您告诉编译器!
的地方,我知道BTN不会为null 。或者,您可以进行检查以使编译器快乐:
let btn = document.getElementById('button');
if (btn != null){
Observable.fromEvent(btn, 'click');
}