2016-07-28 9 views
0

私のプロジェクトではchart.jsライブラリとng2-charts angular 2ディレクティブを使用しています。 chart.jsライブラリから直接関数を呼び出します。特に、私はgetElementsAtEvent関数を呼び出そうとしていて、 "...関数ではありません"というエラーが表示されています。グラフがレンダリングされているので、chart.jsライブラリが読み込まれていることがわかります。ライブラリを検索して見つけることができるので、関数がライブラリに含まれていることがわかります。角2 - JSファイル(chart.js)から関数を呼び出す - 関数が見つかりません

私が今持っていることは次のとおりです。マップと

  • systemjs.config.js'chartjs': '../../areas/dashboard/plugins/chart.js/dist/'とパッケージ:もちろん、とりわけ'chartjs': {main: 'Chart.bundle.min.js', defaultExtensions: 'js'}
  • app.component.tsその後import 'chartjs'; declare let Chart;

と私が持っている:

var chartEl = <HTMLCanvasElement> document.getElementById("chart_2").childNodes[1]; 
var ctx = chartEl.getContext("2d"); 
var myNewChart = new Chart(ctx); 
var activePoints = myNewChart.getElementsAtEvent(e); 

と、「getElementsAtEventは関数ではありません」というエラーメッセージが表示されます。私はそれがデバッガを通過したのでその時点まで実行されることを知っています。 私の理解では、この機能は私にとって利用可能でなければなりません。 jsライブラリから関数を参照/呼び出しできるようにするために何か必要なことはありますか?

ありがとうございました

+0

を提供させていただきますか! – florian

+0

わかりません。最新版のchart.jsでそれを行う方法を知っていますか? "...関数エラーではありません"への私たちのリードを残すだろうか? – blubberbo

答えて

0

誰にでも興味があるかもしれない - 私は、イベントを受け取り、マウスの位置を検出し、クリックされたアイテムを見ることで、chart.jsコードを消して、Angular 2ファイル内にカスタム関数を書くことになった、など)。誰もが任意のヘルプや洞察力を必要とする場合

は、私に知らせてくださいと私はあなたが、チャートの設定を指定することは想定されていません

0

これはおそらく別の問題ですが、どこから来ていますか? myNewChart.getElementsAtEvent(e)は

myChart.onclick = function(e){ 
     var points = myChart.getElementsAtEvent(e) 
} 

のようなコールバックのいくつかの並べ替えの内側にせずに漂っするために呼び出すためにそれは奇妙だ。また、新しいチャートは間違いchart.js Chartオブジェクトではなく、何か他のものでしょうか?私はng2-chartsを使ったことはありませんが、このメソッドがないChartオブジェクトを提供していますか?

+0

これは '(chartClick)=" chartClicked($ event) "で角度2のコードで呼び出されるpublic'clickClicked(e:any):void {}; – blubberbo

関連する問題