Haz tu pregunta y obtén un resumen del documento referenciando esta página y el proveedor AI de tu elección
Historial de versiones
- "Añadida utilidad usePathname"v10.0.023/6/2026
- "Inicialización del historial"v8.2.022/6/2026
El contenido de esta página ha sido traducido con una IA.
Ver la última versión del contenido original en inglésIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Integración Angular: Documentación del Hook usePathname
El hook usePathname devuelve la ruta de navegación actual del navegador con el segmento de idioma eliminado, como un Signal<string> de Angular. Es útil para construir navegación basada en idiomas — por ejemplo, para determinar qué elemento de navegación está activo — sin tener que eliminar manualmente el prefijo de idioma.
Importar usePathname en Angular
Copiar el código al portapapeles
import { usePathname } from "angular-intlayer";Resumen
usePathname lee window.location.pathname, elimina el prefijo de idioma usando getPathWithoutLocale y actualiza el signal cada vez que el navegador dispara un evento popstate (navegación atrás/adelante). Utiliza el DestroyRef de Angular para limpiar automáticamente el escuchador de eventos cuando el componente es destruido.
Uso
Copiar el código al portapapeles
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();}Valor de retorno
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Tipo | Descripción |
|---|---|
Signal<string> | Signal de Angular que contiene la ruta actual sin el prefijo del idioma. |
Comportamiento
- Eliminación del idioma: Elimina el segmento inicial del idioma (ej.
/es/dashboard→/dashboard). - Reactivo: Se actualiza automáticamente en los eventos
popstate(navegación atrás / adelante del navegador). - Compatible con SSR: Devuelve
""cuandowindowno está disponible. - Limpieza: El escuchador
popstatese elimina a través deDestroyRef.onDestroycuando el componente anfitrión es destruido.
Ejemplo
Copiar el código al portapapeles
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: "Settings" }, ]; readonly pathname = usePathname();}Relacionado
useLocale— idioma actual + selector de idiomasgetPathWithoutLocale— la utilidad subyacente utilizada por este hook