我有多个选项卡视图,每个选项卡都有一个组件渲染 . 这是代码:
<mat-tab-group>
<mat-tab *ngFor="let g of goals; index as i">
<ng-template mat-tab-label>{{g.name}}</ng-template>
<div class="row">
<app-summary [goal]="g"></app-summary>
</div>
<div class="row">
<mat-table #table [dataSource]="dataSource[i]">
## some table content here
</mat-table>
</div>
</mat-tab>
</mat-tab-group>
这是 app-summary
的样子:
<div fxLayout="column" fxLayoutGap="20px" style="padding: 20px; width: 1100px;">
<div fxLayout="row" fxLayoutGap="10px" fxLayoutAlign="start start">
<div fxFlex="55">
<mat-card class="summary-card">
<mat-card-content>
<chart [options]="wealthOptions"></chart>
</mat-card-content>
</mat-card>
</div>
<div fxFlex="25">
<mat-card class="summary-card">
<mat-card-content>
<chart [options]="pieProbOptions"></chart>
</mat-card-content>
</mat-card>
</div>
</div>
</div>
<chart>
包含高清视图 . 但是,图表仅适用于第一个选项卡 . 为每个选项卡加载和呈现 component
.
这里是否缺少某些东西或需要以某种方式完成?
2 回答
这是因为,当您初始化highcharts时,除了第一个选项卡,其他不在DOM中,因此无法初始化 .
您必须侦听一些制表符更改事件,然后在呈现制表符后重新初始化高级图表 .
我知道现在已经很晚了,但我相信它会对某些人有所帮助,因为我花了很长时间才发现这一点 . 在选项卡中加载高级图表的一种方法是使用角度属性
<ng-template matTabContent>
延迟加载选项卡您可以通过延迟加载的更基本示例来阅读角度选项卡文档here .
你不需要我拥有的父/子组件结构,也可能做这样的事情