函数内部的访问变量:: TypeScript& Angular2

时间:2016-12-15 12:15:30

标签: javascript angular typescript scope

我有一个 c3.js 库,它在我的angular2文件中绘制一个图表。绘图脚本位于函数内:

private draw() {

 let chart = c3.generate({
  bindto: '#chart',
  data: {
    columns: [
      ['data1', 30, 200, 100, 400, 150, 250, 130, 50, 20, 10, 40, 15, 25, 390],
      ['data2', 50, 20, 10, 40, 15, 25, 542, 30, 200, 100, 333, 150, 250]
    ],
    type: "line"
  }   

});

}

c3.js 库提供了使用以下功能将图表类型从line更改为spline的可能性:

chart.transform('spline');

但遗憾的是,我无法访问此chart变量,因为它位于draw()函数内部。

我想将此chart.transform('spline');函数放在一个按钮中,让用户动态更改它。

我需要一些方法让它发挥作用,任何帮助都非常感谢!

2 个答案:

答案 0 :(得分:0)

chart:any;

private draw() {

 this.chart = c3.generate({
  bindto: '#chart',
  data: {
    columns: [
      ['data1', 30, 200, 100, 400, 150, 250, 130, 50, 20, 10, 40, 15, 25, 390],
      ['data2', 50, 20, 10, 40, 15, 25, 542, 30, 200, 100, 333, 150, 250]
    ],
    type: "line"
  }   

});

您可以随时随地使用this.chart

答案 1 :(得分:0)

尝试初始化图表:

chart: any = {};

然后调用它

this.chart.transform('spline');