是否可以使用新的angular 4渲染器删除侦听器?
这是界面:
abstract listen(target: 'window' | 'document' | 'body' | any,eventName: string,callback: (event: any) => boolean | void): () => void;
在渲染器v1中,listen和listenGlobal返回一个Function,但是这个返回void.
这是一个问题吗?如果没有,我该如何删除监听器?
与渲染器没有区别:
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(); } } }