gpt4 book ai didi

angular - 在组件模板中使用 eventEmitter.emit()

转载 作者:行者123 更新时间:2023-12-04 01:57:48 26 4
gpt4 key购买 nike

编辑

我有一个 TemplateRef在 HTML 模板中使用相同的名称引用!

<ng-template #eventEmitter>

抱歉,仍然保留问题以引用错误代码。

老问题

我试图在组件的模板中使用 something.component.html emit() EventEmitter 的方法实例为
<div (click)="eventEmitter.emit()">click me</div>

并在我的组件中定义 something.component.ts喜欢
@Output() eventEmitter = new EventEmitter<any>();

并得到以下错误
"jit_nodeValue_3(...).emit is not a function"

我在 the doc 中找不到任何对此的引用或 guide并且对这种行为感到好奇,有人有真正的解释吗?

最佳答案

设置 EventEmitterOutput 上:

import { Component, Output, EventEmitter } from '@angular/core';

@Component({
selector: 'demo',
template: `<h1>Demo</h1>
<button (click)="notify.emit('hello')">Notify</button>`
})
export class DemoComponent {
@Output() notify = new EventEmitter<any>();
}

订阅事件:
import { Component } from '@angular/core';

@Component({
selector: 'app',
template: `<h1>App</h1>
<demo (notify)="receiveNotification($event)"></demo>`
})
export class AppComponent {
notifications = new Array<any>();

receiveNotification(notification: any) {
this.notifications.push(notification);
}
}

example in StackBlitz

关于angular - 在组件模板中使用 eventEmitter.emit(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49366584/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com