关于Meteor JS的nvd3折线图:' addGraph'错误

时间:2015-09-02 06:45:59

标签: javascript meteor nvd3.js

使用官方的nvd3包(https://atmospherejs.com/nvd3/nvd3

我在Template.rendered块下面有以下代码:

var formattedEarnedData = formatEarnedData(userEarnedDataSet);

nv.addGraph(function() {
    var earnedChart = nv.models.lineChart()
        .margin({ left: 25 })
        .useInteractiveGuideline(true)
        .transition()
        .duration(350)
        .showLegend(true)
        .showYAxis(true)
        .showXAxis(true);

    earnedChart.xAxis
        .axisLabel('Date')
        .tickFormat(d3.format('d'));

    earnedChart.yAxis
        .axisLabel('Earned')
        .tickFormat(d3.format('d'));

    d3.select('#earned-charts svg').datum(
        [{
            key: 'Earned',
            values: formattedEarnedData
        }]
    ).call(earnedChart);

    nv.utils.windowResize(earnedChart.update);

    return earnedChart;
});

以下内容位于渲染块之外的js文件的底部:

var formatEarnedData = function(dataSet) {
    var earnedDataArray = new Array();
    var groupedDates = _.groupBy(_.pluck(dataSet, 'progression'), function(date) {
    return moment(date).format('MMM D');
});

_.each(_.values(groupedDates), function(dates) {
    earnedDataArray.push({
        date: dates[0],
        total: dates.length
    });
});

return earnedDataArray;
}

即使遵循文档,我仍然会收到此错误:

Cannot read property 'addGraph' of undefined

任何nvd3专家都可以解释为什么会出现这种错误吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

你需要恢复流星版Meteor 1.1.0.2。工作魅力!

答案 1 :(得分:0)

不需要恢复到1.1.0.2,您需要做的就是将nvd3包恢复为1.7.1。见这里:

https://github.com/novus/nvd3/issues/1185