После кодирования диаграммы многократного использования в d3.js Я хочу выставить метод .tickFormat()
как оси X И Ось Y. Проблема в том, что они оба имеют одно и то же имя метода, поэтому мой объект гистограммы может вызывать только последний добавленный метод .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
Оператор унаследовали позволяет повторное связывание методов (mix-INS), чтобы быть отскок к подклассу на другом объекте.
Я действительно не понимаю, как это сделать, но интересно, если это способ решить мою проблему?
Спасибо за ваш ответ. Это на самом деле то, что я делал, но я чувствовал, что мне нужно управлять слишком большим количеством кода и надеяться, что есть более быстрый способ сделать это. Кажется, что нет, поэтому я буду отмечать это как «Ответ». Благодаря :) – ninjaPixel