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