Angular Renderer2 remove listener
Is it possible to remove listeners with the new angular 4 renderer?
here is the interface:
abstract listen(target: 'window' | 'document' | 'body' | any, eventName: string, callback: (event: any) => boolean | void): () => void;
In v1 renderer, listen and listenGlobal return a function, but this one returns void.
This is problem? If not, how do I remove the listener?
+3
source to share
1 answer
No difference with Renderer
:
import { Renderer2 } from '@angular/core'; export class MyComponent { listenerFn: () => void; constructor(private renderer: Renderer2) {} ngOnInit() { this.listenerFn = this.renderer.listen(document, 'mousemove', () => console.log('move')); } ngOnDestroy() { if (this.listenerFn) { this.listenerFn(); } } }
+17
source to share