【发布时间】:2016-12-07 11:38:14
【问题描述】:
我在我的angular 2 应用程序中使用chart.js version 2.2.1。
调用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/
【问题讨论】:
标签: angular chart.js typescript-typings