[英]Angular wrapper component with abstract method
搜索了一段时间后,我没有找到任何可以使用的东西。
我需要创建一个包装组件,它有一些按钮可以调用内部组件中的方法,如下所示:
包装组件:
<div class="card">
<header class="card-header">
<button (click)="onRefreshClick()">Load</button>
</header>
<div class="card-block">
<ng-content></ng-content>
</div>
</div>
现在我创建另一个使用此包装器的组件(例如 ChartA):
<app-wrapper-card>
<div style='display: block;'>
<canvas baseChart class='chart' ....
</canvas>
</div>
</app-wrapper-card>
在包装器组件的onRefreshClick
中,我需要从 ChartA 组件调用some method
。
我怎样才能做到这一点?
这样做:
<app-wrapper-card (messageEvent)="refreshButtonClicked($event)">
<div style='display: block;'>
<canvas baseChart class='chart' ....
</canvas>
</div>
</app-wrapper-card>
并在您的包装脚本中添加一个 EventEmitter
您的子组件必须实现一些抽象的 class。 然后定义组件级提供程序,例如:
providers: [ {provide: BaseAbstractClass, useExisting: ChartA }]
使用@ContentChild
查询子组件:
@ContentChild(BaseAbstractClass) public baseClass: BaseAbstractClass;
现在您可以调用在子组件中实现的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.