Ответ 1
Вы, вероятно, с помощью node
родной EventEmitter от node/index.d.ts
.
исправлять
Добавьте в свой файл следующий импорт:
import { EventEmitter } from '@angular/core';
Добрый день! В настоящее время я следую учебнику, и в учебнике используется EventEmitter. Код выглядит следующим образом:
@Output() ratingClicked: EventEmitter<string> =
new EventEmitter<string>();
но это визуальный код студии дает мне эти ошибки. 1. Тип "EventEmitter" не является общим. 2. Ожидаемые аргументы типа 0, но получили 1.
Даже на угловом веб-сайте, похоже, этот код правильный. https://angular.io/api/core/EventEmitter
Я использую Angular CLI: 1.7.4; Узел: 8.11.1; Typecritp: 2.8.1
Надеюсь, кто-то может помочь.
Вы, вероятно, с помощью node
родной EventEmitter от node/index.d.ts
.
Добавьте в свой файл следующий импорт:
import { EventEmitter } from '@angular/core';
При использовании кода Visual Studio IDE автоматически импортирует EventEmitter из Node.js.
import { EventEmitter } from "events";
В этом случае вам придется вручную заменить его на angular модуль
import { EventEmitter } from "@angular/core";
Я бы удалил <string>
из назначения правой руки, чтобы избежать этой ошибки в соответствии с документацией. <string>
с левой стороны должно быть достаточно, чтобы объявить этот общий тип для испускаемого значения.
@Output() ratingClicked: EventEmitter<string> = new EventEmitter();
Надеюсь, это поможет!
В Visual Studio код, когда вы пытаетесь прослушать событие пользовательского нажатия из html файла компонента
@Output() event: EventEmitter<string> = new EventEmitter<string>();
он автоматически импортирует это в компонент import { EventEmitter } from '@angular/event'
вместо import { EventEmitter } from '@angular/core'
.
Ресурс: https://ultimatecourses.com/blog/component-events-event-emitter-output-angular-2