Ionic/Leaflet.js :如何从 L.Draw.Event.CREATED 事件中调用函数?

Ionic/Leaflet.js : How can I call a function from the L.Draw.Event.CREATED event?

我正在使用 Leaflet Draw 在地图上绘制简单的形状。创建形状后,我想调用另一个方法。

我正在收听这样的 CREATE 事件:

drawMap() {
    this.myMap = L.map('map', {
        crs: L.CRS.Simple
    });

    ...

    this.myMap.on(L.Draw.Event.CREATED, function (e) {
      let type = e.layerType;
      let layer = e.layer;

      this.myOtherMethod();  // this.myOtherMethod is not a function

      drawLayer.addLayer(layer);
    });
}

myOtherMethod() {
    console.log('hello world!');
}

如果我从事件侦听器中取出 this.myOtherMethod();,它会正常调用,所以我知道这是范围问题。我不确定如何调用父作用域。

感谢您的任何建议!

不是使用匿名函数作为回调,而是创建一个单独的命名函数,然后可以调用 myOtherMethod

drawMap() {
    this.myMap = L.map('map', {
        crs: L.CRS.Simple
    });

    ...

    this.myMap.on(L.Draw.Event.CREATED,this.onCreate.bind(this) );
}

onCreate (e) {
      let type = e.layerType;
      let layer = e.layer;

      this.myOtherMethod();  // this.myOtherMethod is not a function

      drawLayer.addLayer(layer);
}


myOtherMethod() {
    console.log('hello world!');
}