Babel中的d3事件回调上下文更改
d3 event callback context changes in Babel
我有一个类,其中一个函数将鼠标事件绑定到SVG元素:
class Chart {
bindEvent() {
this.svg.append('rect')
.on('mousemove', () => {
const mouseDate = scales.x.invert(d3.mouse(this)[0]);
});
}
}
然后babel transpiles进入:
var Chart = function () {
function Chart() {
_classCallCheck(this, Chart);
}
_createClass(Chart, [{
key: 'bindEvent',
value: function bindEvent() {
var _this = this;
this.svg.append('rect').on('mousemove', function () {
var mouseDate = scales.x.invert(d3.mouse(_this)[0]);
});
}
}]);
return Chart;
}();
因此,在事件回调"this"中更改了"_this",我失去了上下文。有办法解决这个问题吗?
胖箭头按照定义是这样工作的。使用正则函数可能是最干净的。
相关文章:
- requireJS在回调中更改此上下文
- Babel中的d3事件回调上下文更改
- 第二次调用主干时在回调中丢失上下文
- 调用 ES6 方法时的绑定上下文.如何从称为回调的方法中访问对象
- Javascript在回调方法中编写此上下文
- Jquery - ajax 回调的上下文不遵循提供的上下文参数
- 如何确定 JavaScript 回调函数的执行上下文
- 角度组件语法,回调函数使用错误的上下文调用
- Backbone.js,无法在回调上设置上下文
- node-js原型对象'self'var没有为回调存储正确的上下文
- jQuery:当对象方法被调用为回调时,如何传递对象上下文
- 向Mongoose回调添加上下文
- 嵌套在回调中的JSONParse数组丢失了上下文
- Meteor中的数据上下文导致回调不可靠
- 带有promise/async-await的回调上下文
- 回调函数、闭包和执行上下文
- 将ES7异步回调绑定到父作用域上下文的最简洁的方法是什么?
- 在回调中调用Js `this`上下文
- Javascript:为什么具有全局执行上下文的回调函数可以访问作用域变量
- 回调、匿名函数和上下文