Javascript 如何在D3回调中访问当前选择?
如何在D3回调中访问当前选择Javascript 如何在D3回调中访问当前选择?,javascript,d3.js,data-visualization,Javascript,D3.js,Data Visualization,如何在D3回调中访问当前选择 group.selectAll('.text') .data(data) .enter() .append('text') .text((d) => d) .attr('class', 'tick') .attr('y', (d) => { // console.log(this) <-- this gives me window :( but I want the current sel
group.selectAll('.text')
.data(data)
.enter()
.append('text')
.text((d) => d)
.attr('class', 'tick')
.attr('y', (d) => {
// console.log(this) <-- this gives me window :( but I want the current selection or node: <text>
return d
})
group.selectAll(“.text”)
.数据(数据)
.输入()
.append('文本')
.text((d)=>d)
.attr('class','tick')
.attr('y',(d)=>{
//console.log(this)这里的问题是使用箭头函数访问this
应该是:
.attr("y", function(d){
console.log(this);
return d;
})
请参阅此处有关此
的箭头函数的文档:
它说:
与函数表达式相比,箭头函数表达式的语法更短,并且在词汇上绑定this值(不绑定自己的this、arguments、super或new.target)
要在arrow函数中获取当前DOM元素this,请结合使用第二个和第三个参数:
.attr("y", (d, i, n) => {
console.log(n[i]);
return n[i];
})