带有选项的Angular addEventListener

时间:2018-02-23 09:27:07

标签: javascript angular addeventlistener

如何使用addEventListener函数和Angular 5的选项?如果有文件,请你指点一下吗?感谢

target.addEventListener(type, listener[, options]);
target.addEventListener(type, listener[, useCapture]);

听取事件方法的角度方式似乎不允许这样做。

HTML模板

<div (click)='handleClick()'/>

Angular renderer2听取方法:

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

HostListener

@HostListener({ 
  eventName?: string
  args?: string[]
})

1 个答案:

答案 0 :(得分:0)

例如,使用收听滚动的文档:

@HostListener('document:scroll', null) listenScroll(agrs?): void {
   //logic here
}

listenScroll()是一个带有args的方法,你可以在模板中使用它。

'document:scroll'是一个特定的目标,例如“在文档中监听滚动,如果更改,请执行逻辑”

更新:适用于addEventListener

你需要目标元素来附加事件,所以:

import { Component, OnInit, ElementRef } from '@angular/core';

constructor(private _elemRef: ElementRef) {}

ngOnInit(): void {
    this._elemRef.nativeElement.addEventListener('document', (event) => {
         //do logic
    });
}