设置 class 属性 的事件侦听器

Setting event listener of a class property

我将 Leaflet 和 Leaflet-geoman 与 wfs-t 结合使用来创建可编辑的地图对象。我有一个 class EditMap,它有一个传单地图 属性。我试图在这张地图上为每个 class 监听 'pm:create' 事件。这是我的代码:

class EditMap {
    constructor(map){
        this.map = map;//Leaflet map
    }
    this.map.on('pm:create', e => {
        console.log('Feature created');
    });
}

我收到错误 Uncaught SyntaxError: Unexpected token '.'在这条线上:

this.map.on('pm:create', e => {

我想我漏掉了一些简单的东西。我的基本问题归结为:你如何监听对象上的事件 属性?

放错地方了

您正在使用 class,因此您可以:

class EditMap {
  constructor(map) {
    this.map = map;

    this.map.on('pm:create', this.pmCreate)
  }

  pmCreate(e) {
    console.log('Feature created');
  }
}

或者只是这个;但会在您添加其他收听者时快速填写:

class EditMap {
  constructor(map) {
    this.map = map; //Leaflet map

    this.map.on('pm:create', e => {
      console.log('Feature created');
    });
  }
}