Autore:
    Creazione:2026-06-22Ultimo aggiornamento:2026-06-22

    Integrazione Angular: Documentazione dell'Hook usePathname

    L'hook usePathname restituisce il percorso del browser corrente con il segmento della locale rimosso, sotto forma di Signal<string> Angular. È utile per creare una navigazione consapevole della locale — ad esempio, per determinare quale voce di navigazione è attiva — senza dover rimuovere manualmente il prefisso della locale.

    Importare usePathname in Angular

    typescript
    import { usePathname } from "angular-intlayer";
    

    Panoramica

    usePathname legge window.location.pathname, rimuove il prefisso della locale tramite getPathWithoutLocale e aggiorna il segnale ogni volta che il browser attiva un evento popstate (navigazione indietro/avanti). Utilizza il DestroyRef di Angular per pulire automaticamente il listener di eventi quando il componente viene distrutto.

    Utilizzo

    src/app/nav-item.component.ts
    import { Component, input } from "@angular/core";
    import { usePathname } from "angular-intlayer";
    
    @Component({
      standalone: true,
      selector: "app-nav-item",
      template: `
        <a
          [href]="href()"
          [attr.aria-current]="pathname() === href() ? 'page' : null"
        >
          {{ label() }}
        </a>
      `,
    })
    export class NavItemComponent {
      readonly href = input.required<string>();
      readonly label = input.required<string>();
    
      readonly pathname = usePathname();
    }
    

    Valore di ritorno

    Tipo Descrizione
    Signal<string> Segnale Angular contenente il percorso corrente senza il prefisso della locale.

    Comportamento

    • Rimozione della locale: Rimuove il segmento iniziale della locale (es. /it/dashboard/dashboard).
    • Reattivo: Si aggiorna automaticamente in seguito a eventi popstate (navigazione indietro / avanti del browser).
    • Sicuro per SSR: Restituisce "" quando window non è disponibile.
    • Pulizia: Il listener popstate viene rimosso tramite DestroyRef.onDestroy quando il componente host viene distrutto.

    Esempio

    src/app/sidebar.component.ts
    import { Component } from "@angular/core";
    import { usePathname } from "angular-intlayer";
    
    @Component({
      standalone: true,
      selector: "app-sidebar",
      template: `
        <nav>
          @for (link of links; track link.href) {
            <a
              [href]="link.href"
              [style.font-weight]="pathname() === link.href ? 'bold' : 'normal'"
            >
              {{ link.label }}
            </a>
          }
        </nav>
      `,
    })
    export class SidebarComponent {
      readonly links = [
        { href: "/dashboard", label: "Dashboard" },
        { href: "/settings", label: "Impostazioni" },
      ];
    
      readonly pathname = usePathname();
    }
    

    Correlati