Đặ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 Vue: Tài liệu usePathname
Hàm usePathname trả về pathname của trình duyệt hiện tại đã được loại bỏ phân đoạn locale, dưới dạng một ComputedRef<string> của Vue. Điều này rất hữu ích khi xây dựng điều hướng nhận biết locale — ví dụ: để xác định mục điều hướng nào đang hoạt động — mà không cần phải cắt bỏ tiền tố locale một cách thủ công.
Nhập (Import) usePathname trong Vue
Sao chép mã vào clipboard
import { usePathname } from "vue-intlayer";Tổng quan
usePathname tạo một computed ref trong Vue. Nó đọc window.location.pathname, loại bỏ tiền tố locale thông qua getPathWithoutLocale và cập nhật giá trị của nó 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). Giá trị này có thể được sử dụng trực tiếp trong các template Vue hoặc các hàm setup của bạn.
Cách sử dụng
Sao chép mã vào clipboard
<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>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
| Kiểu | Mô tả |
|---|---|
ComputedRef<string> | Vue Computed Ref chứa pathname hiện tại của trình duyệt nhưng không có tiền tố locale. |
Hành vi
- Loại bỏ Locale: Cắt bỏ phân đoạn locale ở đầu URL (ví dụ:
/vi/dashboard→/dashboard). - Phản ứng (Reactive): Cập nhật giá trị vào mỗi sự kiện
popstate(trình duyệt điều hướng quay lại / tiến lên). - An toàn cho SSR: Trả về
""khi không cówindow. - Dọn dẹp (Cleanup): Trình lắng nghe
popstateđược thêm vào ở phạm vi toàn cục (globally) khi khởi tạo và thường không yêu cầu dọn dẹp thủ công trên mỗi component, nhờ vào cách Vue quản lý vòng đời component.
Ví dụ
Sao chép mã vào clipboard
<script setup lang="ts">import { usePathname } from "vue-intlayer";const links = [ { href: "/dashboard", label: "Bảng điều khiển" }, { href: "/settings", label: "Cài đặt" },];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>Liên quan
useLocale— locale hiện tại + bộ chuyển đổi localegetPathWithoutLocale— tiện ích cốt lõi mà hook này đang sử dụng