javascript - 從 Leaflet 將通用事件傳遞到 Angular2
我如何以通用方式將事件從 Leaflet.js 傳入 Angular2。
我可以在元件上建立個別的 EventEmitter 元件,然後對這些元件新增特定的 .on 訂閱。
例如:標記
@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),但我還沒有找到任何這方面的範例,也不確定這是否與我想做的事情相關或適用?