我目前正在学习一个教程,该教程使用了EventEmitter.代码是这样的

@Output() ratingClicked: EventEmitter<string> =
        new EventEmitter<string>();

但visual studio代码给了我以下错误:

  1. 类型"EventEmitter"不是泛型.
  2. 应为0个类型参数,但得到1个.

即使在angular website码中,代码看起来也是正确的.

我目前正在使用Angular CLI:1.7.4; node :8.11.1;Typescript :2.8.1

推荐答案

您可能正在使用node/index.d.ts中的node本机EventEmitter,即.

import { EventEmitter } from 'events';

Fix

将导入更改为Angular 导入:

import { EventEmitter } from '@angular/core';

Typescript相关问答推荐

在Switch陈述中输入保护类

Typescript如何从字符串中提取多个文本

angular 17独立使用多个组件(例如两个组件)

如何创建泛型类型组件来使用React Native的FlatList或SectionList?'

使Typescribe强制所有对象具有相同的 struct ,从两个选项

如何通过TypeScript中的工厂函数将区分的联合映射到具体的类型(如类)?

使用`renderToPipeableStream`时如何正确恢复服务器端Apollo缓存?

迭代通过具有泛型值的映射类型记录

从非文字数组(object.keys和array.map)派生联合类型

创建依赖函数参数的类型

使用或属性编写无限嵌套的接口

如何解决&Quot;类型不可分配给TypeScrip IF语句中的类型&Quot;?

如何从接口中省略接口

在Google授权后由客户端接收令牌

作为参数的KeyOf变量的类型

定义一个只允许来自另一个类型的特定字符串文字的类型的最佳方式

无法使用prisma中的事务更新记录

TypeScript是否不知道其他函数内部的类型判断?

覆盖高阶组件中的 prop 时的泛型推理

元素隐式具有any类型,因为string类型的表达式不能用于索引类型{Categories: Element;管理员:元素; }'