Google图表的arrayToDataTable用打字稿角度生成“ arrayToDataTable的数据不是数组”

问题描述

我在角度上遇到了Google图表问题。

虽然我尝试使用要获取的google.visualization.arrayToDataTable()方法为单词树创建数据

@H_502_4@

arrayToDataTable的数据不是数组

相应的代码段:

export class WordTreeComponent implements OnInit {


dummy1 : any[] = ["id","childLabel","parent","size",{ role: "style" }],[0,"Life",-1,1,"black"],;
 
  ngOnInit(){

   google.charts.load("current",{
     "packages": ["WordTree"]
   });

   this.nodeListData = google.visualization.arrayToDataTable(this.dummy1 as any[],false) ;
  }
}

错误屏幕截图:

enter image description here

我猜测它是否与typescripts数组数据类型处理有关(typeof数组是对象),但我不确定。

解决方法

arrayToDataTable需要一个数组数组。

在这里,您有两个单个数组。

dummy1 : any[] = ["id","childLabel","parent","size",{ role: "style" }],[0,"Life",-1,1,"black"],;

需要包含在整个数组中。

dummy1 : any[] = [["id","black"]];

另外,您应该等待google图表完全加载,
在尝试使用google.visualization命名空间之前。

使用load语句返回的承诺...

google.charts.load("current",{
  "packages": ["WordTree"]
}).then(function () {
  this.nodeListData = google.visualization.arrayToDataTable(this.dummy1 as any[],false) ;
});