我有一个很少上课的小型图书馆。在其中一个类中,我使用其他类的方法,因此我实例化它们,并在代码中使用它。
我使用的一些类使用this
关键字的参考方法。
示例:
// index.js
import Class1 from './class1'
import Class2 from './class2'
import Class3 from './class3'
export {
Class1,
Class2,
Class3
}
// class1.js
export default Class1 {
func1() {
return 'something';
}
func2() {
return this.func1() + 'else';
}
}
// class2.js
export default Class2 {
func1() {
return 'something';
}
func2() {
return this.func1() + 'else again';
}
}
// class3.js
import {Class1, Class2} from './index';
const c1 = new Class1();
const c2 = new Class2();
export default Class3 {
funcNotWorking(){
return c1.func2() + c2.func3() + 'this does not work'
}
}
我只是在导入它时在测试中使用它:
// test.js
const c3 = require('library.js').Class3
// test stuff calling:
c3.funcNotWorking()
我正在使用webpack和babel loader编译它。这个配置似乎可以正常编译,其他一切都可以工作,但是......
我读过人们似乎对React有这个问题,但这只是Es6。有人能指出我如何解决这个问题吗?
答案 0 :(得分:0)
这种情况在我的代码中迷失了。
我在有问题的代码中使用递归,映射和箭头函数。 Babel编译版本_this2
没有遵循上下文。
我提取了一些方法,在类构造函数中分配它们,并在类中使用提取的方法并正确编译。