如何以通用方式将事件从Leaflet.js传递到Angular2。
我可以在组件上创建单独的EventEmitter
组件,然后为这些组件添加特定的.on
订阅。
e.g。为标记
@Output() click = new EventEmitter();
@Output() dblclick = new EventEmitter();
@Output() mousedown = new EventEmitter();
@Output() mouseover = new EventEmitter();
@Output() mouseout = new EventEmitter();
@Output() contextmenu = new EventEmitter();
其次是
this.marker.on({
'click': event => this.click.emit(event),
'dblclick': event => this.dblclick.emit(event),
'mousedown': event => this.mousedown.emit(event),
'mouseover': event => this.mouseover.emit(event),
'mouseout': event => this.mouseout.emit(event),
'contextmenu': event => this.contextmenu.emit(event),
});
这允许我订阅并将特定事件从Marker传递到父组件。但这似乎非常具体,取决于我选择每个特定的事件类型,并有相关的@Output
来传播这些。
是否有更通用的方法将事件系统从Leaflet连接到Angular2上的事件系统?
我可以看到Leaflet有addEventParent(<Evented> obj)
的方法,但是我无法找到任何这样的例子,或者如果这甚至与我想做的事情相关,那就可以解决?