Angular Renderer2删除侦听器 [英] Angular Renderer2 remove listener

查看:82
本文介绍了Angular Renderer2删除侦听器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Is it possible to remove listeners with the new angular 4 renderer?

这是界面:

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

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

In the renderer v1 listen and listenGlobal returns a Function, but this one returns void.

有问题吗?如果没有,如何删除监听器?

Is it an issue? If not, how can I remove a listener?

推荐答案

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();
    }
  }
}

这篇关于Angular Renderer2删除侦听器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆