1
我有数据的数组,如果我想使这个数据为文本,我将使用一个代码d3.js如何将当前选择传递给.each()回调?
footer_item = svg_selection.append('g')
.attr('class', 'footer_data')
.selectAll('g')
.data(data)
.enter()
.append('g')
footer_item.append('text')
.text((d) => d)
...
如果不是文本的我想提请一些形状是什么。我可以用这个办法
footer_item
.each((d) => {
// draw some shape
// don't know how to refer to footer_pointer
draw_my_shape(footer_item_pointer, d.x, d.y);
})
function draw_my_shape(footer_item_pointer, x, y){
footer_item_pointer
.append('circle')
.attr('cx', x)
.attr('cy', y)
...
}
唯一的问题这种方法我将失去指针footer_item
。我需要指向footer_item
以在g
元素内绘制我的形状。
是否可以将footer_item
指针与.each()
函数发送给我的绘制回调函数?
我可以使用.call()
函数吗?我尝试过,但随后d
变量将包含完整的选择和完整的数据。我会再次回到我开始的地方。
您可以通过不用箭头功能,在功能使用的
this
范围值做到这一点你为什么认为你失去了你的参考?鉴于你提供的代码,我可以看到没有证据支持这一假设。 – altocumulus我更新了我的问题。你能再看看这个问题吗? – Raf