【问题标题】:Setting event listener of a class property设置类属性的事件监听器
【发布时间】:2020-09-03 00:09:37
【问题描述】:

我将 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: Unexpected token '.'在这一行:

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

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

【问题讨论】:

  • 那行在你的构造函数之外。

标签: javascript oop leaflet leaflet-geoman


【解决方案1】:

在错误的地方

你正在使用一个类,所以你可以这样做:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    相关资源
    最近更新 更多