Explain host decorators.
Skip to solutionKEEP THE
mediumFrontend
What do @HostListener and @HostBinding do?
691 views
01
Understand the problem
hostlistenerhostbinding
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Nudge consolestandby
Stuck? Beam a request up — the console returns a conceptual nudge that guides your logic without spoiling the implementation.
03
Study the solution
@HostListener subscribes to an event on the host element (e.g. @HostListener('click')); @HostBinding binds a host element's property/attribute/class/style to a component field. They're common in attribute directives to react to and style the host.
Solution ready — 2 min read
Classified // press E to declassify
04
Read the code
A directive using both
import { Directive, HostListener, HostBinding } from '@angular/core';
@Directive({ selector: '[appToggleActive]', standalone: true })
export class ToggleActiveDirective {
@HostBinding('class.active') active = false; // reflects onto the host
@HostBinding('attr.aria-pressed') get pressed() { return this.active; }
@HostListener('click') onClick() { // reacts to host click
this.active = !this.active;
}
}
// usage: <button appToggleActive>Toggle</button>05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.
Transmission complete // awaiting log
KEEP THE
STREAK ALIVE.
Dossier 40 of 121 decoded in the Angular track. One more won't hurt.