TypeScript - "שגיאה: 'EventEmitter' אינו גנרי" באנגלר


כרגע אני עוקב אחרי מדריך והמדריך משתמש ב-EventEmitter. הקוד נראה כך

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

אבל ויז'ואל סטודיו קוד נותנת לי את השגיאות האלה:

  1. הסוג 'EventEmitter' אינו גנרי.
  2. ציפו ל-0 ארגומנטים מסוג, אך התקבל 1.

אפילו באתר האנגלי זה נראה שהקוד הזה נכון.

אני כרגע משתמש ב-Angular CLI: 1.7.4; Node: 8.11.1; Typescript: 2.8.1

תשובה #1

אתה כנראה משתמש ב-node EventEmitter המקורי מ-node/index.d.ts כלומר

import { EventEmitter } from 'events';

תקן

שנה את הייבוא לזה מ-angular:

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

תשובה #2

לגבי, הסביבת פיתוח VS Code V1.60.0 הוסיפה אוטומטית את הקוד הזה:

import { EventEmitter } from 'stream';

עם זאת, זה שגוי ואתה צריך להחליף את זה בזה

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