Búsqueda de sitios web

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.