获取dom
依赖注入document对象
HostListener
指令中
@Directive({selector: 'button[counting]'})class CountClicks { numberOfClicks = 0; @HostListener('click', ['$event.target']) onClick(btn) { console.log('button', btn, 'number of clicks:', this.numberOfClicks++); }}@Component({ selector: 'app', template: '<button counting>Increment</button>',})class App {}
组件中
import { HostListener, Component } from "@angular/core";@Component({ selector: 'app', template: `<h1>Hello, you have pressed keys {{counter}} number of times!</h1> Press any key toincrement the counter. <button (click)="resetCounter()">Reset Counter</button>`})class AppComponent { counter = 0; @HostListener('window:keydown', ['$event']) handleKeyDown(event: KeyboardEvent) { this.counter++; } resetCounter() { this.counter = 0; }}