"Typ 'EventEmitter' ist nicht generisch" FEHLER im Winkel

79

Ich verfolge derzeit ein Tutorial und das Tutorial nutzt EventEmitter. Der Code geht so

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

Aber der visuelle Studio-Code gibt mir folgende Fehler:

  1. Der Typ 'EventEmitter' ist nicht generisch.
  2. Erwartete Argumente vom Typ 0, aber 1.

Selbst auf der eckigen Website sieht es so aus, als ob dieser Code korrekt ist.

Ich verwende derzeit Angular CLI: 1.7.4; Knoten: 8.11.1; Typoskript: 2.8.1

thegreathypocrite
quelle

Antworten:

253

Sie verwenden wahrscheinlich den nodenativen EventEmitter von node/index.d.tsdh

import { EventEmitter } from 'events';

Fix

Ändern Sie den Import in den von Angular:

import { EventEmitter } from '@angular/core';
Basarat
quelle
27

Wenn Visual Studio - Code verwenden, die IDE automatisch importiert EventEmitter von Node.js .

import { EventEmitter } from "events";

In diesem Fall müssen Sie es manuell in ein Winkelkernmodul ändern

import { EventEmitter } from "@angular/core";
Nipuna
quelle
0

Im Visual Studio-Code, wenn Sie versuchen, das Benutzer-Klickereignis aus Ihrer HTML-Datei der Komponente anzuhören

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

importiert diese automatisch auf die Komponente import { EventEmitter } from '@angular/event'statt import { EventEmitter } from '@angular/core'.

Ressource: https://ultimatecourses.com/blog/component-events-event-emitter-output-angular-2

trustidkid
quelle
0

Ich habe das gleiche Tutorial gemacht und war mit dem gleichen Problem konfrontiert.

Es ist ein Problem mit einem Import. EventEmittermuss aus importiert werden@angular/core

Verwenden:

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

Dies wird es beheben.

Mumin Quadri
quelle