mediumFrontend

What do @HostListener and @HostBinding do?

691 views
01

Understand the problem

Explain host decorators.

hostlistenerhostbinding
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

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.