Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript d3.选择All.调用组件工厂功能_Javascript_Dom_D3.js_Functional Programming - Fatal编程技术网

Javascript d3.选择All.调用组件工厂功能

Javascript d3.选择All.调用组件工厂功能,javascript,dom,d3.js,functional-programming,Javascript,Dom,D3.js,Functional Programming,我希望对selectAllresultset中的每个元素调用一个新的函数 如果我执行d3.selectAll(…).call(factory(…),则对每个元素调用相同的函数。 factory(…)返回可能具有状态的组件 D3API中有什么东西可以做到这一点吗?还是我必须想出类似于d3.selectAll(…).each(function(){d3.select(this).call(factory(…)})?这行吗?使用.each(function(){factory(d3.select(th

我希望对
selectAll
resultset中的每个元素调用一个新的
函数

如果我执行d3.selectAll(…).call(factory(…)
,则对每个元素调用相同的函数。
factory(…)
返回可能具有状态的组件


D3API中有什么东西可以做到这一点吗?还是我必须想出类似于
d3.selectAll(…).each(function(){d3.select(this).call(factory(…)})
?这行吗?

使用
.each(function(){factory(d3.select(this),…);})
factory
返回一个接受选择的函数。所以
.each(function(){factory(…)(d3.select(this))}
?哦,是的。
.call()
是等效的,但我认为它不太清楚发生了什么。另外,我将重构工厂函数,以返回一个可以对多个元素的选择进行操作的函数。谢谢!组件确实接受多个元素的选择,但它保持状态(它不应该这样),因此本质上我得到了同一组件的多个实例