【发布时间】:2018-04-26 18:10:21
【问题描述】:
我有一个将 d3 选择作为参数的方法:
function foo(selection){
}
在该函数中,我需要 d3 实例。我不想将 d3 实例作为额外参数传递,而是从选择中获取它。这可能吗?
function foo(selection){
var d3 = selection.getD3();
var element = document.createElement('div');
d3.select(element);
}
编辑
选择提供的方法不包括“getD3”之类的东西:
append
attr
call
classed
clone
constructor
data
datum
dispatch
each
empty
enter
exit
filter
html
insert
interrupt
lower
merge
node
nodes
on
order
property
raise
remove
select
selectAll
size
sort
style
text
transition
【问题讨论】:
-
你能提供更多的上下文吗?在什么情况下调用这个函数?为什么你不能在那个函数中引用
d3?这似乎是一个非常特殊的用例;我无法想象有一个实例会导致我的代码出现任何问题。但是,你永远不会知道... -
除了上面评论中所说的之外,如果您知道您正在通过 D3 选择,为什么需要这个?我的意思是,您可以使用
instanceof d3.selection进行测试,但我不明白这一点,因为您已经知道了!
标签: javascript d3.js selection