Angular Renderer2删除侦听器

Ser*_*nho 10 angular2-render angular

是否可以使用新的angular 4渲染器删除侦听器?

这是界面:

abstract listen(target: 'window' | 'document' | 'body' | any, eventName: string, callback: (event: any) => boolean | void): () => void;
Run Code Online (Sandbox Code Playgroud)

在渲染器v1中,listen和listenGlobal返回一个Function,但是这个返回void.

这是一个问题吗?如果没有,我该如何删除监听器?

yur*_*zui 39

没有区别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();
    }
  }
}
Run Code Online (Sandbox Code Playgroud)