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