这在devtools中是未定义的,即使这不是未定义的

时间:2016-10-06 19:02:12

标签: google-chrome-devtools aurelia es6-class

this is undefined in console "这"在devtool控制台中是未定义的,但它显然不是未定义的。 必须是devtools中的错误吗?

1 个答案:

答案 0 :(得分:0)

当您正在检查ES6 / ES2015 +代码(感谢源映射)而不是实际代码时,ES5转换代码的可读性较差,this属性不是与您在源代码中看到的相同。

要访问this,请尝试在控制台中评估_this_this1_this2等,以找到您要查找的上下文。

const loaded = () => {
  this.setState({ loading: false });
};

// will be compiled/transpiled to

var _this = this;
var loaded = function loaded() {
  _this.setState({ loading: false });
};

参考:https://www.sitepoint.com/bind-javascripts-this-keyword-react/