私のイオン2プロジェクトでng2-chartsを使用して折れ線グラフを描画しています。 (chartClick)イベントのグラフデータポイントコレクションにアクセスする必要があります。そのためには、チャートの基本chart.jsオブジェクトにアクセスする必要があります。グラフオブジェクトにアクセスする方法はありますか?ng2-chartsアクセスベースチャートオブジェクト
HTML:
<base-chart class="chart"
[data]="chartData"
[labels]="chartLabels"
[options]="lineChartOptions"
[colours]="lineChartColours"
[legend]="lineChartLegend"
[chartType]="chartType"
(chartClick)="chartClicked($event)"></base-chart>
活字体:最終的にこの問題を解決するために管理
chartClicked(e: any) {
var chart = //reference to base chart object.
var points = chart.getPointsAtEvent(e);
alert(chart.datasets[0].points.indexOf(points[0]));
}
これは私にとっては役に立たなかった。 getComponentは推奨されなくなりました。私はViewChildでこれを試しましたが、チャートはchartcomponentの有効なプロパティではありません – Wandang
@ViewChildを使って答えにアップデートを投稿しました。新しいアプローチがあなたに役立つかどうかを見て、ここに返信してください。また、 "ngAfterViewInit"イベントを使用する必要があるかどうかを確認します。 – ravinsp
私は前にそれを試しました。しかし、それは動作していませんでした。しかし、私は望みの結果を得る別の方法を見つけました:http://stackoverflow.com/a/42212587/1093816(基本的にBaseChartDIrectoryをビューチルドして、ngOnChangeメソッドを使ってグラフを更新してください。 – Wandang