Angular 角度:事件和;“订阅”不是一项功能;错误
我刚刚开始潜入一些基本的角度4,我一直在听一个发射的事件。这里有一个非常简单的例子,再现了这个问题(至少在我这边):Angular 角度:事件和;“订阅”不是一项功能;错误,angular,typescript,Angular,Typescript,我刚刚开始潜入一些基本的角度4,我一直在听一个发射的事件。这里有一个非常简单的例子,再现了这个问题(至少在我这边): DateSenderComponent是“广播”当前日期,然后由其父级AppComponent处理该日期(见下文): 从各种初学者教程中,我发现这是一种聆听事件的方式。但是,在加载页面时,我没有打印接收日期值,而是出现以下错误: AppComponent.html:1错误类型错误:实例[output.propName]。订阅不是函数 在createDirectiveInstanc
DateSenderComponent
是“广播”当前日期,然后由其父级AppComponent
处理该日期(见下文):
从各种初学者教程中,我发现这是一种聆听事件的方式。但是,在加载页面时,我没有打印接收日期值,而是出现以下错误:
AppComponent.html:1错误类型错误:实例[output.propName]。订阅不是函数
在createDirectiveInstance(core.es5.js:10727)
在createViewNodes上(core.es5.js:12086)
在callViewAction(core.es5.js:12530)
在execComponentViewsAction(core.es5.js:12439)
在createViewNodes上(core.es5.js:12113)
在createRootView(core.es5.js:11991)
在callWithDebugContext(core.es5.js:13206)
在Object.debugCreateRootView[作为createRootView](core.es5.js:12666)
创建(core.es5.js:9912)
在ComponentFactoryBoundToModule.create(core.es5.js:3448)中
不幸的是,我找不到任何关于这到底意味着什么的信息,我自己也无法理解
有一件事似乎是一个提示:当我更改AppComponent
模板以侦听某个不会在任何地方发出的事件(例如
)时,错误就会消失。因此,在实际输出事件和侦听它的模板之间似乎存在联系,这似乎是问题的原因
有人能给我指出正确的方向吗?
EventEmitter
应该来自“@angular/core”
我在您的代码中看到它来自“事件”
您确定使用的对象正确吗?问题在于:
import { EventEmitter } from "events";
您必须像这样从@angular/core
导入EventEmitter
:
import { EventEmitter } from "@angular/core";
从“事件”导入{EventEmitter};这应该是从“@angular/core”导入{EventEmitter}”@拉胡辛格:非常感谢,你说得绝对正确。我这边有些马虎……你说得对,非常感谢。为我辩护(或者更确切地说,是拼命地试图责怪别人):这是Visual Studio代码在键入
new EventEmitter()
后点击Ctrl+。
时提出的第一个建议。我甚至没有看其他三个:)这里有同样的问题。VSCode中的自动完成错误。这是一个TypeScript错误,很快就会修复!只是遇到了同样的问题。。还没修好,看起来只是省了一天的钱。谢谢
import { EventEmitter } from "events";
import { EventEmitter } from "@angular/core";