我有一个名为Car and Engine的课程。
class Car {
constructor() {
this.engine = new Engine();
this.start = false;
}
startCar() {
// some code
}
}
class Engine {
startEngine() {
if(start == false) { // Car.start
startCar() // Car.startCar
}
}
}
我想调用startCar方法并从 startEngine 方法访问start字段。有没有其他方法来访问这些领域&没有将这些方法作为参数提供给 Engine 类的方法吗?
答案 0 :(得分:0)
您可以在Car的构造函数中绑定startEngine()方法:
constructor() {
this.engine = new Engine();
this.start = false;
this.engine.startEngine = this.engine.startEngine.bind(this);
}
然后你可以在startEngine方法中使用'this':
class Engine {
startEngine() {
if(this.start == false) { // Car.start
this.start = true;
}
}
}
并从汽车的startCar()方法访问引擎的startEngine()方法:
startCar() {
this.engine.startEngine();
}
您还可以从startEngine()方法中访问startCar()方法:
class Engine {
startEngine() {
if(this.start == false) { // Car.start
this.startCar();
}
}
}