【发布时间】:2017-08-12 17:07:04
【问题描述】:
我正在尝试从动态加载的组件中调用父方法。我正在使用 Angular 食谱https://angular.io/guide/dynamic-component-loader中的动态组件加载器解决方案@
我试图完成的是从加载的组件中调用父级的 deleteBanner 方法。
我在加载的组件(HeroJobAdComponent 和 HeroProfileComponent)上添加了一个 eventEmitter,并尝试在 AdBannerComponent 中捕获事件(deleteBanner)并在 AdBannerComponent 中调用 deleteBanneronParent 上的本地方法。
加载组件中的eventEmitter:
export class HeroProfileComponent implements AdComponent {
@Input() data: any;
@Output() deleteBanner: EventEmitter<string> = new
EventEmitter<string>();
removeBanner() {
console.log('removeBanner on HeroProfileComponent invoked');
this.deleteBanner.emit(null);
}
}
并在父级中捕获事件:
<div ad-host (deleteBanner)="deleteBanneronParent()"></div>
已加载组件上的本地方法被调用,但由于某种原因它没有传播到父组件。知道我在这里缺少什么吗?
【问题讨论】:
标签: angular typescript events