无法阅读财产' map'未定义的 - 谷歌图表

时间:2017-10-18 06:43:55

标签: javascript google-visualization

我的谷歌图表有问题。我在控制台中收到错误:

  • overview-statistic-chart-ctrl.js:102 Uncaught(in promise)TypeError:无法读取属性' map'在loader.js中的回调未定义(overview-statistic-chart-ctrl.js:102):242

当我刷新或点击其他链接并返回相同的链接时,它的工作效果很好。但是只有在我第一次加载页面时才会出现此错误。

这是我的代码:

    google.charts.load('current', {
    callback: function () {
        var teamNames = $scope.teams.map(team => team.team_name);
        var days = $scope.teams.map(team => team.date_activity);
        var avgMaxHRLastDays = $scope.teams.map(team => team.avgMaxHRLastDays);

        var days = $scope.teams.map(team => team.date_activity);
        var withDates = avgMaxHRLastDays.map(data => data);

        var newArray = matrixTranspose(withDates);

        var dataChart = newArray.map(data => [''].concat(data));

        console.log("dataChart ", dataChart);

        var filled = dataChart.map(data => fillWithZeros(data, $scope.teams.length));

        var dataToVisualize = [
            ["Teams"].concat(teamNames),
        ].concat(filled);

        var data = new google.visualization.arrayToDataTable(dataToVisualize);

        var chart = new google.visualization.LineChart(document.getElementById('heartOverviewChart'));
        chart.draw(data, optionsDesktop);
    },
    packages: ['corechart']
});

谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

您的$scope.teams似乎设置不正确(这会将'teams'属性默认为undefined)因此,当您尝试映射预期的'团队'数组时,您会看到错误。

在尝试在回调函数中访问它们之前,请确保$scope$scope(此处为$scope.teams)中的属性设置正确。

也许一些日志语句或使用几个断点进行调试可能有所帮助。

  

当我刷新或点击其他链接并返回相同的链接时,它的效果非常好。

这可能会发生,因为当您执行这些“其他”操作时,$scope.teams可能具有预期值,或者那些“其他”操作可能正在设置$scope.teams值。