Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 错误TS2304:找不到名称';输入事件';_Angular_Typescript_Typescript Typings - Fatal编程技术网

Angular 错误TS2304:找不到名称';输入事件';

Angular 错误TS2304:找不到名称';输入事件';,angular,typescript,typescript-typings,Angular,Typescript,Typescript Typings,如中所述,我试图在Angular 7项目中使用获取InputEvent。但无论何时使用,它都会显示错误TS2304:找不到名称“InputEvent” 是否需要在Angular项目中“注册”它,或者它是一个bug 如果修复不可用,我只想用一种方便的方法实现与InputEvent中的event.data相同的结果 谢谢 在Angular 6应用程序的单元测试中使用@types/dom inputevent时,我遇到了同样的问题。在我的例子中,原因是我在tsconfig.spec.js中有一个显式的

如中所述,我试图在Angular 7项目中使用获取
InputEvent
。但无论何时使用,它都会显示错误TS2304:找不到名称“InputEvent”

是否需要在Angular项目中“注册”它,或者它是一个bug

如果修复不可用,我只想用一种方便的方法实现与
InputEvent
中的
event.data
相同的结果


谢谢

在Angular 6应用程序的单元测试中使用@types/dom inputevent时,我遇到了同样的问题。在我的例子中,原因是我在tsconfig.spec.js中有一个显式的“types”条目,如下所述

tsconfig.json(不相关部分省略)

tsconfig.spec.js(不相关部分省略)

如您所见,有一个
types
条目列出了编译期间应该提供的显式类型。这将覆盖父tsconfig.json中的
typeroot
设置,因此在编译我的单元测试时,只有@types/jasmine和@types/node可用。另请参见此处:

解决方案是将
dom inputevent
添加到
类型
列表中,例如

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
  "types": [
    "jasmine",
    "node",
    "dom-inputevent"
  ]
}

另一种方法是完全删除类型条目。如果我这样做,
typeRoots
会在node_modules/@types下查找所有类型,因此也包括
@types/dom inputevent

几年过去了,我终于得到了一个答案。我认为这个答案是有意义的,所以我接受了它,但我目前没有参与该项目,我太忙了,无法验证它。我只是想到Firefox并不支持
InputEvent
中的
event.data
。这个软件包是否为Firefox提供了应有的行为?我的案例与你的不同,我只是无法让它工作=/
{
  "extends": "../tsconfig.json",
  "compilerOptions": {
  "types": [
    "jasmine",
    "node"
  ]
}
{
  "extends": "../tsconfig.json",
  "compilerOptions": {
  "types": [
    "jasmine",
    "node",
    "dom-inputevent"
  ]
}