typescript - Angular 2 Hendelseslytter på dokumentet inne i en komponent
Hvordan kan jeg sette opp en hendelseslytter (mouseup) i Angular 2 inne i en komponent som kan utløses av hele dokumentet? Tilbakekallingsfunksjonen vil kalle en funksjon inne i komponenten.
Noe sånt som dette (i Javascript):
document.addEventListerner('mouseup', function(){
if( condition ){
// code ..
}
});
Svar #1
https://stackblitz.com/edit/angular-host-listener-mouseup?file=src%2Fapp%2Fapp.component.ts
import { Component, HostListener } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
@HostListener('window:mouseup', ['$event'])
onMouseUp(event) {
console.log(event);
}
}
Svar #2
Legg til en HostListener for å registrere en hendelse på dokumentobjektet
import {HostListener, KeyboardEvent} from '@angular/core';
inni komponenten
@HostListener('mouseup', ['$event'])
mouseUp(ev:KeyboardEvent) {
console.log(ev);
}
