0
Babel正在编译我的es6类,所以构造函数本身就是一个函数,并且类中的方法成为类声明。babel编译es6类,未定义函数
这导致构造函数中的任何函数调用都是未定义的。
前:
class myClass {
constructor() {
myMethod();
} // END constructor
myMethod() {
console.log("myMethod");
}
} // END myClass
后:
var myClass = function() {
function myClass() {
_classCallCheck(this, myClass);
myMethod(); // undefined function
} // END constructor
_createClass(myClass, [{
key: 'myMethod',
value: function myMethod() {
console.log("myMethod");
} // END myMethod()
}]);
return myClass;
}(); // END myClass
exports.default = myClass;
感谢您在这
感谢您的帮助,我最初在构造函数中试过,添加了这个。到方法声明没有在es6文档和babel中通过语法错误“意外标记”提及。还尝试了myMethod:function(){},结果相同。可以提供代码示例,所以我可以看到你到底在说什么? – appthat
当然!添加代码示例编辑答案。 –
谢谢,这实际上是我的问题的一部分,我忽略的另一个问题是,我试图访问回调匿名函数内的myMethod。删除匿名函数包装并使用this.myMethod.bind(this)一劳永逸地解决问题 – appthat