В моем компоненте bar-chart
, если у меня есть диаграмма типа:
<ngx-charts-bar-vertical [showDataLabel]="true" [results]="data" [xAxis]="true"
[yAxis]="true" [legend]="false" [showXAxisLabel]="false"
[xAxisLabel]="xAxisLabel" [showYAxisLabel]="true"
[yAxisLabel]="yAxisLabel">
</ngx-charts-bar-vertical>
И я использую это в другом компоненте с его селектором вроде:
<app-barchart id="toCapture"></app-barchart>
Теперь яхочу захватить диаграмму с помощью библиотеки dom-to-image
, поэтому я попробовал это:
capture() {
const chartElement = document.getElementById('toCapture');
domtoimage.toPng(chartElement).then((dataUrl) => {
const img = new Image();
img.src = dataUrl;
document.body.appendChild(img);
});
}
Даже если я помещаю идентификатор в тег ngx-charts-bar-vertical
, он не работает, когда я проверяю, вижу ли я тег изображенияно внутри изображения нет содержимого, как я могу это исправить?
ОБНОВЛЕНИЕ
Если я использую setTimeout
и через 1 секунду вызываю capture
, то это работаетно я не хочу использовать setTimeout, а также хочу поместить идентификатор в тег селектора.