无法读取未定义的属性“ toLocaleString”。角度5 ngx图

时间:2018-07-08 09:26:10

标签: angular angular5 ngx-datatable ngx-charts

Console log Cannot read property 'toLocaleString' of undefined在我的component.ts上,我正在使用这种方法从json中获取数据

getChartProducts() {

        this.TicketService.getAlladminPage(this.number, this.size, this.sort, this.orderByColumn)
          .subscribe(
            (chart: any[]) => {

              let item = 0;

              if (chart['content']) {
                while(item < chart['content'].length){

                  let chartItem = {
                    'name' : chart['content'][item].name,
                    'price': chart['content'][item].price
                  };

                  this.chart.push(chartItem);
                  item ++;
                }

                console.log( this.chart);
              }
            });

      }`

我也设置了

`
     chart: { name :string, price :number}[] = [];
view: any[] = [700, 400];

  // options
  showXAxis = true;
  showYAxis = true;
  gradient = false;
  showLegend = true;
  showXAxisLabel = true;
  showYAxisLabel = true;`

和我的HTML

` <ngx-charts-bar-vertical
                                [view]="view"
                                [scheme]="colorScheme"
                                [results]="chart"
                                [gradient]="gradient"
                                [xAxis]="showXAxis"
                                [yAxis]="showYAxis"
                                [legend]="showLegend"
                                [showXAxisLabel]="showXAxisLabel"
                                [showYAxisLabel]="showYAxisLabel"
                                [xAxisLabel]="xAxisLabel"
                                [yAxisLabel]="yAxisLabel"
                                (select)="onSelect($event)">
                              </ngx-charts-bar-vertical>`

对这个错误有任何想法吗?我试过图表:{“ name”:string,“ price”:number} [] = [];但还是同样的错误

我正在使用Angular CLI:1.7.4 节点:8.11.2 操作系统:win32 x64 角度:5.0.2 “ @ swimlane / ngx-charts”:“ 7.4.0”,

3 个答案:

答案 0 :(得分:4)

对于分组垂直条形图,您需要使用:

ngx-charts-bar-vertical-2d

而不是:

ngx-charts-bar-vertical

答案 1 :(得分:0)

您的数据需要具有一个名为value的属性,但是您的数据仅具有一个名为price的属性。

只需更新您的数据以包含value属性,它就可以正常工作。

答案 2 :(得分:0)

the above error still occurs for charts such as Grouped Vertical Bar Chart, Grouped Horizontal Bar Chart etc this looks like a bug from ngx-charts
the input for this is 

[
  {
    "name": "Germany",
    "series": [
      {
        "name": "2010",
        "value": 7300000
      },
      {
        "name": "2011",
        "value": 8940000
      }
    ]
  },
​
  {
    "name": "USA",
    "series": [
      {
        "name": "2010",
        "value": 7870000
      },
      {
        "name": "2011",
        "value": 8270000
      }
    ]
  }
]

它们在外部数组中期望值,但是如果我们发送它们的值,则没有意义

i.e [
{
"name": "Germany",
"value": 234324,
"series": [
]
},
...
]