根据文档,"无论指定函数的返回值如何,调用运算符始终返回当前选择。"我想知道是否存在调用变量或合理的解决方法,以获取返回除选择之外的值的调用行为。
动机:
我有一个图表和一个日期刷,每个都封装在一个函数
中function trends_datebrush() {
// Setup
function chart(_selection) {
_selection.each(function(_data) {
// Do things
...});
}
return chart;
};
(图表遵循类似的格式,但不称为日期刷)。
这些实例化为:
d3.select("someDiv")
.datum("data")
.call(trends_datebrush());
// And then we call the chart
我想从画笔返回一个子选择,用作图表调用中的数据变量。因为我需要让他们都知道一些更高阶的全局状态,特别是因为我希望其他控制函数可以深入研究数据。如果我可以覆盖呼叫,那么我可以做类似
的事情d3.select("someDiv")
.datum("data")
.call(trends_datebrush())
.call(trends_chart());
然后,如果我要实现一些新的过滤器,我可以使用另一个调用语句将其抛入链中。
tl; DR:寻找获取连锁图表调用的方法。他们可以将转换后的数据传递给对方。我想要monadic D3排行榜!除非我不太了解monad所以我可能会误用这个词。