Javascript 检测何时在另一个组件中调用函数。

Javascript 检测何时在另一个组件中调用函数。,javascript,angular,typescript,Javascript,Angular,Typescript,我的Angular 2应用程序中有两个组件-文件夹选择器.component.ts和主页.component.ts。这些组件一起工作以显示文件系统树状视图-基本上是一个文件浏览器。在树状视图中单击文件夹时,将调用名为nodeSelect(event)的函数 如何通知home.component.ts调用了nodeSelect(event)文件夹选择器.component.ts中的nodeSelect(event)执行一些逻辑来设置我在home.component.ts中需要的字符串变量-我知道如

我的Angular 2应用程序中有两个组件-
文件夹选择器.component.ts
主页.component.ts
。这些组件一起工作以显示文件系统树状视图-基本上是一个文件浏览器。在树状视图中单击文件夹时,将调用名为
nodeSelect(event)
的函数


如何通知
home.component.ts
调用了
nodeSelect(event)
文件夹选择器.component.ts中的
nodeSelect(event)
执行一些逻辑来设置我在
home.component.ts中需要的字符串变量-我知道如何获取它,但不知道如何立即获取它(无论何时调用
nodeSelect(event)

您可以为此使用EventEmitter。大概是这样的:

class FolderSelectorComponent {
   @Output() myEvent: EventEmitter<any> = new EventEmitter();
   nodeSelect() {
        this.myEvent.emit('someStringValue');
    }
}
class FolderSelector组件{
@Output()myEvent:EventEmitter=新的EventEmitter();
节点选择(){
this.myEvent.emit('someStringValue');
}
}
//您的主组件的示例

  @Component({
        selector : 'home',
        template : `
            <folder-selector (myEvent)="doSomething($event)"></folder-selector>`,
        directives : [FolderSelector]
    })
    class Home {
        doSomething(evt) {    } //Where evt is 'someStringValue'
    }
@组件({
选择器:“主页”,
模板:`
`,
指令:[文件夹选择器]
})
班级之家{
doSomething(evt){}//其中evt是“someStringValue”
}