如何从Javascript /“ this”绑定中的外部类访问“ this”

时间:2018-12-27 21:25:39

标签: javascript

我有一个接受回调方法参数的外部javascript类。运行回调时,就像API会窃取该方法并尝试在其内部运行一样。

下面有一个例子。这个想法是,API应该能够宣布经理为“经理”,但是却宣布自己(“ API”)。

class Manager{
  constructor(){
    this.name = "Manager";
  }
  
  manage(){
    var api = new API(this.announce);
  }
  
  announce(){
    alert(this.name);
  }
}

class API{
  constructor(announceCallback){
    this.name = "API";
    this.announceManager = announceCallback;
    this.announceManager();
  }
}

manager = new Manager();
manager.manage();

如何从Javascript中的外部类访问“ this”。我已经读过JS can lose implicit binding。我也一直在阅读call() and apply(),但是这些似乎仅适用于函数而不适用于类方法。如何修改我的“ Manager”类,以便当API调用“ announceCallback”时提醒“ Manager”而不是“ API”。我特别需要在类和not independent functions as described in another post中使用的分辨率。

0 个答案:

没有答案