Đặt câu hỏi và nhận tóm tắt tài liệu bằng cách tham chiếu trang này và nhà cung cấp AI bạn chọn
Lịch sử phiên bản
- "Đã thêm tiện ích usePathname"v10.0.023/6/2026
- "Khởi tạo lịch sử"v8.2.022/6/2026
Nội dung của trang này đã được dịch bằng AI.
Xem phiên bản mới nhất của nội dung gốc bằng tiếng AnhIf 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
Tích hợp Angular: Tài liệu Hook usePathname
Hook usePathname trả về đường dẫn trình duyệt hiện tại với phần ngôn ngữ (locale) đã bị loại bỏ, dưới dạng một Angular Signal<string>. Điều này hữu ích để xây dựng điều hướng nhận biết ngôn ngữ — ví dụ, xác định mục điều hướng nào đang hoạt động — mà không cần phải loại bỏ thủ công tiền tố ngôn ngữ.
Nhập usePathname trong Angular
Sao chép mã vào clipboard
import { usePathname } from "angular-intlayer";Tổng quan
usePathname đọc window.location.pathname, loại bỏ tiền tố ngôn ngữ thông qua getPathWithoutLocale, và cập nhật signal mỗi khi trình duyệt kích hoạt sự kiện popstate (điều hướng quay lại/tiến tới). Nó sử dụng DestroyRef của Angular để tự động dọn dẹp trình lắng nghe sự kiện khi thành phần bị hủy.
Sử dụng
Sao chép mã vào clipboard
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();}Giá trị Trả về
Mở bảng trong một cửa sổ bật lên để xem toàn bộ nội dung dữ liệu một cách rõ ràng
| Loại | Mô tả |
|---|---|
Signal<string> | Signal Angular chứa đường dẫn hiện tại không có tiền tố ngôn ngữ. |
Hành vi
- Loại bỏ ngôn ngữ: Loại bỏ phần ngôn ngữ ở đầu (ví dụ:
/vi/dashboard→/dashboard). - Phản ứng: Tự động cập nhật vào các sự kiện
popstate(điều hướng quay lại / tiến tới của trình duyệt). - An toàn cho SSR: Trả về
""khiwindowkhông khả dụng. - Dọn dẹp: Trình lắng nghe
popstatebị xóa thông quaDestroyRef.onDestroykhi thành phần máy chủ bị hủy.
Ví dụ
Sao chép mã vào clipboard
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: "Bảng điều khiển" }, { href: "/settings", label: "Cài đặt" }, ]; readonly pathname = usePathname();}Liên quan
useLocale— ngôn ngữ hiện tại + trình chuyển đổi ngôn ngữgetPathWithoutLocale— tiện ích cơ bản được sử dụng bởi hook này