2016-12-02 15 views
0

クリックされたonClickイベントとラベルを取得するチャートを作成する必要があります。私は解決策を見つけて適応させました。

$scope.chart; 
$scope.onClick = function (points, evt) { 
    console.log(points, evt); 
    if ($scope.chart) { 
     console.log($scope.chart.getPointsAtEvent(evt)); 
    } 
}; 

とビュー側::これは私のコードです

 <canvas class="chart chart-horizontal-bar" 
      chart-series="seriesPM" 
      chart-labels="labelsPM" 
      chart-data="dataPM" 
      chart-options="chartOptions" 
      chart-click="onClick" 
      id="chart" 
      ></canvas> 

しかし、私の$ scope.chartは未定義であると私は、この変数を取得する方法がわかりません。

+0

。常に未定義です。 おそらくセレクタを使用して、その.chartを何かに設定する必要があります。 セレクタは、使用しているものによって異なります。 JQueryを使用している場合は非常に簡単です(JQueryセレクタを参照)。ちょうどAngular(JQLite)を使用している場合は、それを調べる必要があります(リンクはこちら)http://stackoverflow.com/質問/ 23609171/how-to-get-class-by-classname-or-id –

+0

要素を選択しましたが、getPointsAtEvent関数を持たない;/ –

+0

そうですが、そのような方法で選択したりラップしたりする必要がありますイベントが利用可能であることを示します。 私はこれを見て、これを解決するために必要なすべてを持っているはずです。 http://www.chartjs.org/docs/ –

答えて

0
 console.log(points); 

代わり

if ($scope.chart) { 
    console.log($scope.chart.getPointsAtEvent(evt)); 
} 

それは簡単なことでした。あなたのコードは何に.chart等しい設定したことがない/

関連する問題