我有一个B类,它实现了另一个A类。
在A类中,我需要使用B类中定义的变量
class classA {
methodA() {
console.log(parentClass.variableToRetrieve);
}
}
class classB {
constructor() {
this.variableToRetrieve = 1;
this.A = new classA();
}
}
var B = new classB();
B.A.methodA();
我应该在classA.methodA中使用什么,并在控制台中看到1?
我已经想要在classA构造函数中传递B对象,或传递值,但由于我可以拥有数百个变量和(可能)数百万个classA,因此它会快速操作服务器
答案 0 :(得分:1)
您应该使用classA
扩展classB
class classA {
methodA() {
console.log('parentClass.variableToRetrieve');
}
}
class classB extends classA {
constructor() {
super()
this.variableToRetrieve = 1;
}
method() {
this.A = new classA();
}
}
var B = new classB();
B.methodA();
<强>更新强> 我认为绑定classB会解决问题。
class classA {
methodA() {
console.log(this.variableToRetrieve);
}
}
class classB {
constructor() {
this.variableToRetrieve = 4;
}
}
var B = new classB();
var A = new classA();
A.methodA.bind(B)();
答案 1 :(得分:0)
你的A班必须扩展班级B才能做到这一点