javascript - child 在 Angular 2 中监听父事件

标签 javascript typescript angular rxjs eventemitter

在 Angular 文档中有一个关于监听来自 parent 的 child 事件的话题。没关系。但我的目的是相反的!在我的应用程序中有一个“admin.component”,它包含管理页面的布局 View (侧边栏菜单、任务栏、状态等)。 在这个父组件中,我配置了路由器系统,用于在管理员的其他页面之间更改主视图。 问题在于更改后保存内容,用户单击任务栏中的保存按钮(位于 admin.component 中),子组件必须监听该单击事件以保存人员。

最佳答案

为了后代,我想我会提到更传统的解决方案:简单地获取对 ViewChild 的引用,然后直接调用它的方法之一。

@Component({
  selector: 'app-child'
})
export class ChildComponent {

  notifyMe() {
    console.log('Event Fired');
  }
}

@Component({
  selector: 'app-parent',
  template: `<app-child #child></app-child>`
})
export class ParentComponent {

  @ViewChild('child')
  private child: ChildComponent;

  ngOnInit() {
    this.child.notifyMe();
  }
}

关于javascript - child 在 Angular 2 中监听父事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37677122/

相关文章:

angularjs - 使用 Typescript 的 Angular material toast

javascript - 变量在 fetch 中更改但在函数外部未更改

javascript - 有没有办法以 Angular 形式将 json 键作为字符串 @Input() 传递

angular - 如何在前端和后端存储 JWT 刷新 token ?

angular - 当 ngValue 是对象时,Angular 5 中选择 ngModel 的双向数据绑定(bind)

javascript - 如何同步触发两个异步函数?

javascript - Bitbucket 管道和非 headless Puppeteer?

javascript - 计算特定类的嵌套 div 的数量

javascript - 如何从我的 video.js 播放器中监听 "timeupdate"事件?

angular - 在 Visual Studio Code IDE 中找不到模块 '@angular/core'