Я использую chart.js version 2.2.1
в своем приложении angular 2
.chart.js - Поставляемые параметры не соответствуют какой-либо сигнатуре целевого вызова (angular2)
При вызове конструктора Chart
отображается ошибка:
Supplied parameters do not match any signature of call target
. И команда npm start
не скомпилирует приложение.
var myChart = new Chart(ctx, {
type: this.chartType,
data: chartData,
options: chartOptions
});
Используя приведенный выше метод, диаграмма нарисована в браузере.
(Но я должен: 1) комментарий код, который создает таблицу, 2) запустить npm start
, 3) раскомментировать код)
Я переустановил TypeScript Definitions (d.ts) for chartjs
В chart.d.ts
что подпись Chart
:
interface Chart {
Line(data: LinearChartData, options?: LineChartOptions): LinearInstance;
Bar(data: LinearChartData, options?: BarChartOptions): LinearInstance;
Radar(data: LinearChartData, options?: RadarChartOptions): LinearInstance;
PolarArea(data: CircularChartData[], options?: PolarAreaChartOptions): CircularInstance;
Pie(data: CircularChartData[], options?: PieChartOptions): CircularInstance;
Doughnut(data: CircularChartData[], options?: PieChartOptions): CircularInstance;
}
declare var Chart: {
new (context: CanvasRenderingContext2D): Chart;
defaults: {
global: ChartSettings;
}
};
Согласно этому определению машинописи я должен создать таблицу таким образом:
var myChart = new Chart(ctx).Line(chartData, chartOptions);
Призывая таким образом экземпляр Chart
не содержит функцию Line(/*...*/)
.
Как исправить проблему?
Я установил типизации для chart.js как предложено здесь: https://www.nuget.org/packages/chartjs.TypeScript.DefinitelyTyped/