Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Versionshistorie
- "usePathname-Dienstprogramm hinzugefügt"v10.0.023.6.2026
- "Historie initialisiert"v8.2.022.6.2026
Der Inhalt dieser Seite wurde mit einer KI übersetzt.
Den englischen Originaltext ansehenIf 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
Angular-Integration: usePathname Hook Dokumentation
Der usePathname-Hook gibt den aktuellen Browser-Pfad als Angular Signal<string> zurück, wobei das Gebietsschema-Segment (Locale) entfernt wurde. Er ist nützlich für den Aufbau einer gebietsschema-basierten Navigation — zum Beispiel, um festzustellen, welches Navigationselement aktiv ist —, ohne das Gebietsschema-Präfix manuell entfernen zu müssen.
usePathname in Angular importieren
Kopieren Sie den Code in die Zwischenablage
import { usePathname } from "angular-intlayer";Überblick
usePathname liest window.location.pathname, entfernt das Gebietsschema-Präfix mittels getPathWithoutLocale und aktualisiert das Signal bei jedem popstate-Ereignis des Browsers (Zurück-/Vorwärts-Navigation). Er nutzt Angulars DestroyRef, um den Event-Listener bei Zerstörung der Komponente automatisch zu entfernen.
Verwendung
Kopieren Sie den Code in die Zwischenablage
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();}Rückgabewert
Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| Typ | Beschreibung |
|---|---|
Signal<string> | Angular-Signal, das den aktuellen Pfad ohne das Gebietsschema-Präfix enthält. |
Verhalten
- Gebietsschema entfernen: Entfernt das führende Gebietsschema-Segment (z. B.
/de/dashboard→/dashboard). - Reaktiv: Aktualisiert sich automatisch bei
popstate-Ereignissen (Zurück-/Vorwärts-Navigation im Browser). - SSR-kompatibel: Gibt
""zurück, wennwindownicht verfügbar ist. - Bereinigung: Der
popstate-Listener wird überDestroyRef.onDestroyentfernt, wenn die Host-Komponente zerstört wird.
Beispiel
Kopieren Sie den Code in die Zwischenablage
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();}Verwandt
useLocale— aktuelles Gebietsschema + Gebietsschema-WechslergetPathWithoutLocale— das von diesem Hook zugrundeliegende genutzte Dienstprogramm