设置类属性的事件侦听器

问题描述

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

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

我收到错误Uncaught SyntaxError:意外令牌'。在这一行:

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

我希望我缺少一些简单的东西。我的基本问题可以归结为:如何监听对象属性上的事件?

解决方法

在错误的地方

您正在使用课程,因此可以这样做:

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');
    });
  }
}