【问题标题】:call to current component method from a imported component - not parent child concept从导入的组件调用当前组件方法 - 不是父子概念
【发布时间】:2020-12-01 14:33:18
【问题描述】:

我在LotoReviewTabComponent,这里导入了另一个组件- import { ReviewComponent } from './loto.reviewdoc.component';

我的要求是在ReviewComponent内部调用LotoReviewTabComponent的方法。

原因ReviewComponent 被导入LotoReviewTabComponent 是-LotoReviewTabComponent 中有一个modalreference 调用如下-

Const reviewModal = this.modalService.open(ReviewComponent, ngbModalOptions);
reviewModal.componentInstance.fileName = fileName;

当在该模态 - reviewModal 中执行某些事件时,必须调用 LotoReviewTabComponent 中的方法。

如何做到这一点?

【问题讨论】:

  • 你能使用服务让组件调用和设置值吗?
  • 在您的子组件中,您可以将您的父组件注入为 DI(@inject(LotoReviewTabComponent)) parent: LotoReviewTabComponent)
  • 您可以使用Subject 中的RxJs 轻松实现这一目标。

标签: angular angular7


【解决方案1】:

您可以在 ReviewComponent 中使用来自 Angular 的 Output event

通过这个你可以让父组件(LotoReviewTabComponent)知道它必须做一些事情。在这种情况下,运行一个方法。

【讨论】:

  • 组件已导入。它不是父母
  • @Manojkumar 同样的想法仍然存在,你只需要抓住事件有点不同,你现在必须做这样的事情reviewModal.instance.nameOfOutputEvent.subscribe((event) => {yourMethod()})
  • 是的,我正在导入组件,因此它不是子组件。否则有一个现成的例子 - stackoverflow.com/questions/43323272/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-02
  • 2022-07-07
  • 2023-01-08
  • 2018-05-04
  • 2016-12-03
  • 2017-11-24
相关资源
最近更新 更多