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

标签 angular eventemitter emit

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

家长:

parent .ts

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

child :

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

this.uploadEmit.emit('upload successful');

我得到了这个错误:

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

@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

最佳答案

import { EventEmitter } from 'events';

这是您的导入声明吗?

如果是,改成

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

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

关于angular - TypeError : instance[output. propName].subscribe 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49901620/

相关文章:

html - 使用 "ngIf"进行 Angular 插值

javascript - 强行在 karma 中拒绝 promise

javascript - 无法在模板中显示值

javascript - EventEmitter 与 facebook 的调度程序

views - 为什么从 Couchbase Views 返回文档不好

angularjs - 深入检查类似于 Angular2 中 $watchCollection 的变化

javascript - 在使用 Flow 扩展 EventEmitter 的类中限制 `eventName` 的类型?

angular - 当我在组件 A 中收到此函数的事件时,如何调用组件 B 中的函数

javascript - 套接字不在路由内发出