TypeError:instance [output.propName] .subscribe不是函数

use*_*604 8 eventemitter emit angular

我正在尝试从子组件向父组件发出事件.

家长:

parent.ts

onChangeUpload(event){
  console.log('event');
  console.log(event);
}
Run Code Online (Sandbox Code Playgroud)
<app-upload (uploadEmit)="onChangeUpload($event)"></app-upload>
Run Code Online (Sandbox Code Playgroud)

儿童:

@Output() uploadEmit: EventEmitter = new EventEmitter();

this.uploadEmit.emit('upload successful');
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

core.js:1448 ERROR Error: Uncaught (in promise): TypeError: instance[output.propName].subscribe is not a function
Run Code Online (Sandbox Code Playgroud)

@angular/cli: 1.7.3
@angular-devkit/build-optimizer: 0.3.2
@angular-devkit/core: 0.3.2
@angular-devkit/schematics: 0.3.2
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 1.10.2
@schematics/angular: 0.3.2
@schematics/package-update: 0.3.2
typescript: 2.6.2
webpack: 3.11.0
Run Code Online (Sandbox Code Playgroud)

rit*_*taj 24

import { EventEmitter } from 'events';
Run Code Online (Sandbox Code Playgroud)

这是您的进口声明吗?

如果是,请将其更改为

import { EventEmitter } from '@angular/core';
Run Code Online (Sandbox Code Playgroud)

并禁用VS Code自动导入.:)