AngularNGXChart在加载时未正确适应父容器大小
创始人
2024-10-28 18:31:17
0

使用ViewChild和ngAfterViewInit钩子对图表进行重新渲染。

在组件的HTML文件中,设置一个包含图表的div,并使用ngStyle指令将其大小设置为父级容器的大小:

在组件的TS文件中,使用ViewChild和ngAfterViewInit来获取父级容器的大小,并在重新渲染图表时将其应用于ngx-charts组件:

import { Component, ViewChild, ElementRef, AfterViewInit } from '@angular/core';
import { ChartComponent } from 'ng2-charts';

@Component({
  selector: 'app-my-chart',
  template: '
', styleUrls: ['./my-chart.component.css'] }) export class MyChartComponent implements AfterViewInit { @ViewChild('chartDiv') chartDiv: ElementRef; @ViewChild(ChartComponent) chartComponent: ChartComponent; public pieChartData: number[] = []; public pieChartLabels: string[] = []; public pieChartType = 'pie'; public pieChartOptions: any = { responsive: true }; parentHeight: string; parentWidth: string; ngAfterViewInit() { this.parentHeight = this.chartDiv.nativeElement.parentElement.offsetHeight + 'px'; this.parentWidth = this.chartDiv.nativeElement.parentElement.offsetWidth + 'px'; this.chartComponent.chart.update(); } }

该示例组件显示了一个饼图,将其大小设置为其父级容器的大小。在ngAfterViewInit钩子中,我们使用ViewChild获取chartDiv元素的引用,并使用nativeElement获取其父元素的高度和宽度。然后,我们更新ChartComponent的图表,并在这之后重新渲染。

相关内容

热门资讯

透视了解"拱趴大菠萝... 透视了解"拱趴大菠萝怎么开挂"详细辅助总结教程(辅助器要钱玩透明);支持2-10人实时对战,虚拟庄家...
透视挂透视"wepo... 透视挂透视"wepoker私人定制透视"详细辅助揭秘教程(亲友圈有用攻略);最新版2024是一款经典...
透视线上"wepok... 1、透视线上"wepoker可以开透视吗"详细辅助揭秘攻略(透视脚本免费app教程);详细教程。2、...
透视免费"福建大菠萝... 透视免费"福建大菠萝万能辅助器"详细辅助分享教程(可以看底牌透视)是一款可以让一直输的玩家,快速成为...
透视app"wepo... 《透视app"wepoker黑侠辅助器"详细辅助软件教程(如何设置透视技巧)》 wepoker黑侠辅...
透视游戏"aapok... 透视游戏"aapoker插件下载"详细辅助AI教程(手机版透视脚本软件);1.aapoker插件下载...
透视总结"hhpok... 1、透视总结"hhpoker德州透视"详细辅助玩家教程(辅助软件视频技巧)。2、hhpoker德州透...
透视脚本"wepok... 您好,wepoker辅助器最新版本更新内容这款游戏可以开挂的,确实是有挂的,需要了解加微【13670...
透视有挂"智星德州插... 透视有挂"智星德州插件最新版本更新内容详解"详细辅助解密教程(脚本下载辅助)关于智星德州插件最新版本...
透视辅助"哈糖大菠萝... 1、透视辅助"哈糖大菠萝怎么开挂"详细辅助扑克教程(可以下载游戏软件);详细教程。2、哈糖大菠萝怎么...