在尝试按照原则from Mike使用我的d3图表链接方法时,我收到错误TypeError: Cannot read property 'length' of undefined
。我的图表看起来像
function generateTimeline() {
var width = 800;
...
function timeline(selection) {
...
}
timeline.width = function(_) {
if(!arguments.length) return width;
width = _;
return chart;
}
return chart
}
我可以致电
var chart = generateTimeline();
d3.select('body')
.datum(dataSet)
.call(chart);
正确生成图表。我甚至可以调用返回800的chart.width()
。但是,尝试使用
var chart = generateTimeline().width(600)
d3.select('body')
.datum(dataSet)
.call(chart);
抛出错误。我应该注意,在尝试call(chart)
之前不会抛出错误。