1
已经编码的d3.js我要揭露这两个X轴和 Y轴的.tickFormat()
方法的可重复使用的图表方法。问题是它们都有相同的方法名称,所以我的直方图对象只能调用最近添加的.tickFormat()
方法。如何重新绑定具有相同的名称
d3.ninja.histogram = function module() {
var x = d3.scale.ordinal(),
y = d3.scale.linear(),
xAxis = d3.svg.axis().scale(x).orient('bottom').tickSize(6, 0),
yAxis = d3.svg.axis().scale(y).orient('left').tickSize(6, 0);
function chart(selection) {
selection.each(function (data) {
// make something nice
});
}
// Expose the x-axis' tickFormat method.
d3.rebind(chart, xAxis, 'tickFormat');
// Expose the y-axis' tickFormat method.
d3.rebind(chart, yAxis, 'tickFormat');
return chart;
}
麦克博斯托克mentions that
的重新绑定操作者允许继承的方法(混合的插件)成为反弹到子类中的不同对象。
我真的不明白如何做到这一点,但不知道它是否是一种解决我的问题的方法?
谢谢您的回答。这实际上是我正在做的,但我觉得我不得不管理太多的代码,并希望有一个更好的方法来做到这一点。看起来好像没有,所以我会将其标记为已回答。谢谢 :) – ninjaPixel 2014-10-21 18:12:30