HostListener vs DOM-Ereignisse in Angular 4HostListener vs DOM-Ereignisse in Angular 4
So ist diese Frage über Best Practices, während Codierung. Betrachten Sie, ich habe eine Komponente, auf der ich ein Unschärfeereignis haben möchte. Dies kann auf zwei verschiedene Arten implementiert werden.
den Dom Ereignis verwenden:
view.html
<input (blur)="onBlur($event)"/>
component.ts
@Component({ selector: 'input-component' template: require('path to view.html') }) export class InputComponent(){ public onBlur(event: Event){ /*on blur action*/} }
Hier habe ich eine Unschärfe Ereignis am Eingang gesetzt haben, und ich habe ein Callback-Funktion in meiner Komponentenklasse.
Mit HostListener
component.ts
import { HostListener } from '@angular/core'; @Component({ selector: 'input-component' template: require('path to view.html') }) export class InputComponent(){ @HostListener('blur', ['$event']) onBlur(event: Event) { /*on blur action*/} }
Hier implementiert ich das gleiche mit HostListener. Ich weiß, dass dies viel in der Direktiven-Klasse verwendet wird, aber ich habe viele Beispiele von Komponenten mit HostListeners gesehen.
Meine Frage hier ist:
- Welche desto sauberer und eine bessere Umsetzung ist?
- Ist es besser, bei den DOM-Ereignissen zu bleiben oder mit den eckigen Haken zu gehen?
I DOM-Ereignis über HostListener wählen würde, es sei denn, eine Richtlinie zu tun. Es ist viel klarer. – DeborahK
Danke für Ihren Kommentar. Ich denke, es ist sinnvoll zu versuchen, die Implementierung so nah wie möglich am DOM zu halten. – ronakvp