gpt4 book ai didi

javascript - 使用 ES6 箭头函数时,D3.js 事件监听器无法访问 "this"

转载 作者:行者123 更新时间:2023-11-29 10:10:44 24 4
gpt4 key购买 nike

<分区>

我正在尝试使用带有箭头函数的 D3.js 事件监听器,但它似乎不起作用。

this 绑定(bind)到 undefined

如何使用 ES6 箭头函数访问 this

ES5:

svg.selectAll('circle')
.data(data)
.enter()
.append('circle')
.attr('r', '10')
.attr('cx', (d) => x(d.day))
.attr('cy', (d) => y(d.amount))
.on('mouseenter', function (d) {
console.log(this); // output '<circle r="10" cx="10" cy="1"/>'
});

ES6(使用箭头函数):

svg.selectAll('circle')
.data(data)
.enter()
.append('circle')
.attr('r', '10')
.attr('cx', (d) => x(d.day))
.attr('cy', (d) => y(d.amount))
.on('mouseenter', (d) => {
console.log(this); // output: 'undefined'
});

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com