javascript - Pasar eventos genéricos de Leaflet a Angular2
Cómo paso eventos de Leaflet.js a Angular2 de manera genérica.
Puedo crear componentes individuales EventEmitter en el componente y luego agregar suscripciones específicas .on a estos.
p. ej. para Marcador
@Output() click = new EventEmitter();
@Output() dblclick = new EventEmitter();
@Output() mousedown = new EventEmitter();
@Output() mouseover = new EventEmitter();
@Output() mouseout = new EventEmitter();
@Output() contextmenu = new EventEmitter();
Seguido por
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),
});
Esto me permite suscribirme y pasar eventos específicos de Marker al componente padre. PERO esto parece muy específico y depende de que seleccione cada tipo de evento específico y tenga un @Output relevante para propagarlos.
¿Hay una manera más genérica de conectar el sistema de eventos de Leaflet con el sistema de eventos en Angular2? Puedo ver que Leaflet tiene métodos para addEventParent(<Evented> obj), pero no he podido encontrar ningún ejemplo de esto ni averiguar si esto es realmente relevante o apropiado para lo que estoy intentando hacer.