2016-08-19 16 views
4

私はlegendCallbackの仕事をすることができません。angular-chart.js legendCallback

私はこのようにそれを入れてみました:

options = { 
    legend: { 
     legendCallback: function (chart) { 
      console.log(chart); 
      return 'a'; 
     } 
    } 
} 

OR 

options = { 
    legend: { 

    }, 

    legendCallback: function (chart) { 
     console.log(chart); 
     return 'a'; 
    } 
} 

Iは、第2の1にlegendlegendCallbackを切り替えてみましたが、それでも何らかのエラーが動作したり与えるものではありません。

+0

あなたはplunkerを提供することができますか? –

+0

もし必要なら、私はできます。しかし、私が与えたスニペットに基づいています。 'legendCallback'を追加する正しい部分は何ですか? – iamdevlinph

答えて

0

Chart.js docsによると、legendCallback

var chartInstance = new Chart(ctx, { 
    type: 'line', 
    data: data, 
    options: { 
     legendCallback: function (chart) { 
      console.log(chart); 
      return 'a'; 
     } 
    } 
}); 
+0

これはOPがすでに行ったことの100%です – Blauhirn

1

legendCallback機能はオプションの設定、チャートJSで実行し、chartInstance.generateLegendに呼び出しを介して、あなたの呼び出し元のコードに利用可能です(つまり、グローバルオプションであります)ページ上の要素に追加するためのHTMLを生成します。

var chartInstance = new Chart(ctx, { 
    type: 'line', 
    data: data, 
    options: { 
     legendCallback: function (chart) { 
      console.log(chart); 
      return 'a'; 
     } 
    } 
}); 

// This runs the legendCallback and returns the result 
var legendHtml = chartInstance.generateLegend(); 
+0

なぜそれが機能しなかったのか、それを修正するために何をしたのかを説明するコメントを追加できますか? – Moseleyi

+0

legendCallback関数は、オプションでセットアップされ、Chart JSで実行され、chartInstance.generateLegend()の呼び出しを介して呼び出しコードで利用可能になり、ページ上の要素に追加するHTMLを生成します。上記の答えを更新しました。 –