Typescript 如何在依赖注入实例上手动侦听angular 2事件?
如果我有一个像Typescript 如何在依赖注入实例上手动侦听angular 2事件?,typescript,angular,Typescript,Angular,如果我有一个像 @Component({selector: 'todo-cmp'}) class TodoCmp { @Input() model; @Output() complete = new EventEmitter(); // TypeScript supports initializing fields onCompletedButton() { this.complete.next(); // this fires an event } } 在另一个组件
@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”中手动添加事件侦听器,并侦听从ToDoCmp的Dependency注入实例激发的任何单击事件
类似于todoCmp.addEventListener('complete',function(e){})
也许吧?还是ng2中更好的
德克萨斯州
肖恩。首先,
EventEmitter.next()
从alpha-45左右开始一直是EventEmitter.emit()
其次,您正在寻找的方法是.subscribe()
请注意,这些信息在中很容易获得-您应该真正查看它们,因为EventEmitter
比您习惯的事件侦听器功能更强 thx是的,我现在才知道它的rxjs,所以一切都很好,tx用于answer@born2net如果这回答了你的问题,你能接受它吗?对不起,我如何“接受”它?我确实把它标记为+1。。。但我怎么能接受这是正确的答案呢?有这个按钮吗?我没看到,斯塔克斯
class SomeOtherClass(){
constructor(todoCmp:TodoCmp){
todoCmp.complete.subscribe((result)=>{
//result == arg passed into emit()
}))
}