2016-12-02 74 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無所不能。它始終是未定義的。 您需要將.chart設置爲某些內容,可能使用選擇器。 該選擇器將取決於你正在使用什麼。如果您使用的是JQuery,那麼它非常簡單(查找JQuery選擇器),如果您只是使用Angular(所以JQLite),那麼您需要查看它(http://stackoverflow.com/)。問題/ 23609171 /如何獲取元素的類名稱或編號 –

+0

我選擇了元素,但它沒有getPointsAtEvent函數;/ –

+0

正確,但您必須以這種方式選擇和/或包裝它該事件可用。 我看着這個,它應該有你需要的一切來解決這個問題。 http://www.chartjs.org/docs/ –

回答

0
 console.log(points); 

代替

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

它是那麼容易;/