我在尝试在Angular单元测试中对本机元素上的退格键按下触发keyup事件时遇到问题。
如果我尝试:
combineReducers()
我收到TypeError:
debugElement.nativeElement.dispatchEvent(new KeyboardEvent('keyup', {code: 'Backspace'}));
我在编辑器(VSCode)中没有收到任何错误,并且如果我遵循类型定义(到DOM API类型文件),那么KeyboardEvent的构造函数为:
TypeError: KeyboardEventConstructor is not a constructor (evaluating 'new KeyboardEvent('keyup', { code: 'Backspace' })')
第二个arg采用如下定义的接口:
new(typeArg: string, eventInitDict?: KeyboardEventInit): KeyboardEvent;
我不确定这里哪里出问题了,有人可以帮忙吗?
谢谢
答案 0 :(得分:0)
(假设您正在使用ng-cli转堆)似乎工作正常,这是一个stackblitz
由于键入错误,它可能是lib.dom.d.ts的不兼容版本,或者您在错误地编译/编译TS时以某种方式进行了设置。
(以下建议可能会导致与Angular的版本不兼容)
首先尝试使用
更新输入内容npm安装typescript @ latest
或简单地检查您的package.json“ typescript”:“〜2.7.2”,它使用的是最新版本并根据您的Angular版本进行了配置。