当前位置:  开发笔记 > 编程语言 > 正文

如何在依赖注入实例上手动监听角度2事件?

如何解决《如何在依赖注入实例上手动监听角度2事件?》经验,为你挑选了1个好方法。

如果我有一个像这样的组件

@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"中手动添加事件侦听器,并侦听从DEPEmpmp的depenendcy注入实例触发的任何单击事件.

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

也许?还是更好的ng2?

TX

肖恩.



1> drew moore..:

首先,EventEmitter.next()一直EventEmitter.emit()以来的α-45左右.

其次,您正在寻找的方法是 .subscribe()

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

请注意,这些信息在文档中很容易获得- 你应该真正检查这些信息,因为EventEmitter它比你习惯的事件监听器更有能力.

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有