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

    Integrazione Vue: Documentazione di usePathname

    La funzione usePathname restituisce il percorso corrente (pathname) del browser con il segmento della locale rimosso, sotto forma di ComputedRef<string> in Vue. È utile per costruire una navigazione che tenga conto della locale — per esempio, per determinare quale elemento di navigazione è attivo — senza dover rimuovere manualmente il prefisso della locale.

    Importare usePathname in Vue

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

    Panoramica

    usePathname crea un riferimento calcolato (computed ref) di Vue che legge da window.location.pathname, rimuove il prefisso della locale tramite getPathWithoutLocale, e aggiorna il suo valore ogni volta che il browser scatena un evento popstate (navigazione indietro/avanti). Il valore può essere utilizzato direttamente nei template o nelle funzioni di setup di Vue.

    Utilizzo

    src/components/NavItem.vue
    <script setup lang="ts">import { usePathname } from "vue-intlayer";const props = defineProps<{  href: string;  label: string;}>();const pathname = usePathname();</script><template>  <a :href="href" :aria-current="pathname === href ? 'page' : undefined">    {{ label }}  </a></template>

    Valore Restituito

    Tipo Descrizione
    ComputedRef<string> Computed ref di Vue contenente il percorso corrente (pathname) del browser senza il prefisso della locale.

    Comportamento

    • Rimozione della locale: Rimuove il segmento iniziale della locale (es. /it/dashboard/dashboard).
    • Reattività: Aggiorna il valore a ogni evento popstate (navigazione indietro / avanti del browser).
    • Sicuro in SSR: Restituisce "" quando window non è disponibile.
    • Pulizia (Cleanup): L'event listener popstate viene aggiunto globalmente all'inizializzazione e normalmente non richiede pulizia manuale per singolo componente, grazie a come Vue gestisce il ciclo di vita.

    Esempio

    src/components/Sidebar.vue
    <script setup lang="ts">import { usePathname } from "vue-intlayer";const links = [  { href: "/dashboard", label: "Dashboard" },  { href: "/settings", label: "Impostazioni" },];const pathname = usePathname();</script><template>  <nav>    <a      v-for="link in links"      :key="link.href"      :href="link.href"      :style="{ fontWeight: pathname === link.href ? 'bold' : 'normal' }"    >      {{ link.label }}    </a>  </nav></template>

    Correlati