javascript - Highcharts 错误 "cannot read property of undefined"

标签 javascript angularjs highcharts

我正在使用 Highcharts 创建图表(并从 JSON 文件获取数据)。但是,我得到了 TypeError: Cannot read property 'map' of undefined

我有以下代码:

myData.get(function (data) {
      $scope.loadData = data;
    });


$('#container').highcharts({

    xAxis: {
        type: 'datetime'
    },

    series: [{
        name: 'Temperature',
        data: $scope.loadData.map(function(d) {
          return [d.timestamp, d.actual];
        })
    }, {
        name: 'Range',
        data: $scope.loadData.map(function(d) {
          return [d.timestamp, d.min, d.max];
        }),
        type: 'arearange'
    }]
});

我还创建了一个 Plunker .

有什么关于我在这里做错的提示吗?

最佳答案

所以我将您的 Plunkr 更改为一个工作示例:http://plnkr.co/edit/Q4z6NdVtp3TRMKgmH5tc?p=preview

首先,在您的 data.json 中,您将时间戳 添加为字符串。 Highchart 不接受这一点。

我更改了工厂以通过 $http 获取 JSON 数据

.factory('myData', function($http) { 
    return {
     getData : function () {
       var data = [];
      data = $http.get('data.json');
      return data;
     }
  }
})

在 getData 的回调中,我构建了图表:

myData.getData().then(function(response) { 
    $scope.loadData = response.data;

    $('#container').highcharts({

        xAxis: {
            type: 'datetime'
        },

        series: [{
            name: 'Temperature',
            data: [$scope.loadData.timestamp, $scope.loadData.actual]
        }, 
        {
            name: 'Range',
            data: [$scope.loadData.timestamp, $scope.loadData.min, $scope.loadData.max],
            type: 'arearange'
        }]
    });
  });

关于javascript - Highcharts 错误 "cannot read property of undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37004574/

相关文章:

android - 单击 cardview 时从 firebase firestore 获取数据并使用 highcharts 绘制直方图 - android

javascript - 我可以使用 val() 插入或编辑文件输入吗?

javascript - 如何在没有webpack dev server的情况下使用webpack进行开发?

javascript - 如果 esModuleInterop 为 true 配置 TypeScript 转译,我是否需要显式 allowSyntheticDefaultImports?

javascript - 仅增加选定边缘的宽度 (cytoscape.js)

javascript - AngularJS $scope 未定义 $scope 内的项目

css - Highcharts - 如何更改字体大小?

javascript - Highcharts : Showing wrong color in data series

angularjs - Ionic 应用程序的跨源资源共享问题

angularjs - Angular $http 缓存键是如何创建的