gpt4 book ai didi

typescript - 如何在依赖注入(inject)实例上手动收听 angular 2 事件?

转载 作者:太空狗 更新时间:2023-10-29 17:45:52 25 4
gpt4 key购买 nike

如果我有一个像

这样的组件
@Component({selector: 'todo-cmp'})
class TodoCmp {
@Input() model;
@Output() complete = new EventEmitter(); // TypeScript supports initializing fields

onCompletedButton() {
this.complete.next(); // this fires an event
}
}

在另一个组件中,我通过 DI 获得了它的副本,如下所示:

...
class SomeOtherClass(){
constructor(todoCmp:TodoCmp){
// how do I listen to
...
}
...

如何在“SomeOtherClass”中手动添加一个事件监听器,并监听从依赖注入(inject)的 ToDoCmp 实例触发的任何点击事件。

类似于 todoCmp.addEventListener('complete',function(e){});

也许吧?或者 ng2 中更好的东西?

发送

肖恩。

最佳答案

首先,EventEmitter.next() 自 alpha-45 左右以来一直是 EventEmitter.emit()

其次,你要找的方法是.subscribe()

class SomeOtherClass(){
constructor(todoCmp:TodoCmp){
todoCmp.complete.subscribe((result)=>{
//result == arg passed into emit()
}))
}

请注意,此信息可在 the docs 中轻松获得。 - 你真的应该检查一下,因为 EventEmitter 比你习惯的事件监听器更强大。

关于typescript - 如何在依赖注入(inject)实例上手动收听 angular 2 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34407954/

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