استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
تاريخ الإصدارات
- "إضافة أداة usePathname المساعدة"v10.0.0٢٣/٦/٢٠٢٦
- "تهيئة السجل التاريخي"v8.2.0٢٢/٦/٢٠٢٦
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةIf 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
تكامل Svelte: توثيق usePathname
تعيد دالة usePathname مسار المتصفح الحالي (pathname) بعد إزالة جزء الـ locale منه، وتُرجع ذلك كمخزن (store) من نوع Readable<string> في Svelte. يُعد هذا مفيدًا لبناء تنقل (navigation) يراعي الـ locale — على سبيل المثال، لتحديد عنصر التنقل النشط حاليًا — دون الحاجة إلى إزالة بادئة الـ locale يدويًا.
استيراد usePathname في Svelte
نسخ الكود إلى الحافظة
import { usePathname } from "svelte-intlayer";نظرة عامة
تقوم usePathname بإنشاء store قابل للقراءة في Svelte يقرأ من window.location.pathname، ويزيل بادئة الـ locale باستخدام getPathWithoutLocale، ثم يُصدر قيمة جديدة كلما أطلق المتصفح حدث popstate (التنقل للخلف/للأمام). اشترك في هذا الـ store باستخدام صيغة $ داخل المكونات (components).
الاستخدام
نسخ الكود إلى الحافظة
<script lang="ts"> import { usePathname } from "svelte-intlayer"; export let href: string; export let label: string; const pathname = usePathname();</script><a {href} aria-current={$pathname === href ? "page" : undefined}> {label}</a>القيمة المُرجعة
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| النوع | الوصف |
|---|---|
Readable<string> | Store Svelte قابل للقراءة يحتوي على مسار URL الحالي (pathname) بدون بادئة الـ locale. |
السلوك
- إزالة الـ Locale: تزيل مقطع الـ locale الأمامي (مثلًا
/ar/dashboard←/dashboard). - تفاعلية (Reactive): تُصدر قيمة جديدة عند كل حدث
popstate(التنقل للخلف / للأمام في المتصفح). - آمنة في SSR: تعيد
""عندما يكونwindowغير متوفر. - التنظيف (Cleanup): تتم إزالة مستمع (listener) الـ
popstateتلقائيًا عندما يلغي آخر مشترك (subscriber) اشتراكه.
مثال
نسخ الكود إلى الحافظة
<script lang="ts"> import { usePathname } from "svelte-intlayer"; const links = [ { href: "/dashboard", label: "لوحة التحكم" }, { href: "/settings", label: "الإعدادات" }, ]; const pathname = usePathname();</script><nav> {#each links as link} <a href={link.href} style:font-weight={$pathname === link.href ? "bold" : "normal"} > {link.label} </a> {/each}</nav>مواضيع ذات صلة
useLocale— الـ locale الحالي + مبدّل الـ localegetPathWithoutLocale— الأداة الأساسية المُستخدمة داخل هذا الـ hook