Auteur:
    Création:2026-06-22Dernière mise à jour:2026-06-22

    Intégration Vue : Documentation de usePathname

    La fonction usePathname retourne le chemin de l'URL actuelle (pathname) du navigateur sans le segment de la locale, sous la forme d'une ComputedRef<string> de Vue. C'est utile pour construire une navigation qui prend en compte la locale — par exemple, pour déterminer quel élément de navigation est actif — sans avoir à retirer le préfixe de locale manuellement.

    Importer usePathname dans Vue

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

    Vue d'ensemble

    usePathname crée une référence calculée (computed ref) Vue qui lit window.location.pathname, supprime le préfixe de la locale via getPathWithoutLocale, et met à jour sa valeur chaque fois que le navigateur déclenche un événement popstate (navigation retour/avance). La valeur peut être utilisée directement dans vos templates Vue ou vos fonctions setup.

    Utilisation

    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>

    Valeur retournée

    Type Description
    ComputedRef<string> Une référence calculée Vue contenant le chemin (pathname) actuel sans le préfixe de locale.

    Comportement

    • Suppression de la locale : Retire le segment de locale au début de l'URL (par ex. /fr/dashboard/dashboard).
    • Réactif : Met à jour la valeur à chaque événement popstate (navigation arrière / avant dans le navigateur).
    • Compatible SSR : Renvoie "" lorsque window n'est pas disponible.
    • Nettoyage (Cleanup) : L'écouteur popstate est automatiquement ajouté lors de l'initialisation et n'a pas besoin de nettoyage manuel par composant dans la plupart des cas, grâce à la gestion du cycle de vie globale de Vue.

    Exemple

    src/components/Sidebar.vue
    <script setup lang="ts">import { usePathname } from "vue-intlayer";const links = [  { href: "/dashboard", label: "Tableau de bord" },  { href: "/settings", label: "Paramètres" },];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>

    Fonctions liées