【发布时间】:2020-11-18 05:50:23
【问题描述】:
我有嵌套组件。当我在祖父组件中按下切换时,我想在孙子组件中调用一个方法。
祖父组件
<div class="col text-right">
Show Values:
<ejs-switch
class="form-control form-control-sm"
(change)="displayGrillsValue($event)"
[checked]=true
></ejs-switch>
</div>
<div class="row">
<div class="col">
<div class="ContentControl">
<app-grills-kpi [isInEdit]="isInEdit" [maxWidth]="'450px'" [maxHeight]="'30px'" [controlName]="ControlName.GrillsKPI1"></app-grills-kpi>
</div>
</div>
<div class="col">
<div class="ContentControl">
<app-grills-kpi [isInEdit]="isInEdit" [maxWidth]="'450px'" [maxHeight]="'30px'" [controlName]="ControlName.GrillsKPI2"></app-grills-kpi>
</div>
</div>
</div>
父组件:
<app-grills-kpi-chart #chart [grillsKPIModel]="grillsKPIModel" [exportName]="formattedKPIName">
</app-grills-kpi-chart>
子组件:
这是我要调用的方法
displayGrillsValue = ($event) => {
this.chart.visibleSeries.forEach(element => {
if($event.checked){
element.marker = this.marker;
}else {
element.marker.dataLabel.visible = $event.checked;
}
});
this.chart.refresh();
}
请指导我最好的方法。另外,如果您注意到我在祖父母中有 2 个图表。因此,当我按下切换按钮时,我希望图表都可以通过大子方法刷新。
【问题讨论】:
标签: angular typescript angular9