كيفية الوصول إلى معلمة URL في Sapper خارج وحدة البرنامج النصي

لنفترض أنك تقوم بإنشاء تطبيق Svelte باستخدام Sapper ، ولديك مسار صفحة ديناميكي ، على سبيل المثال/routes/[id].svelte.

تريد الحصول على الجزء الديناميكي من URL (ملفidفي هذه الحالة) ، وأنت تعلم أنه يمكنك الحصول عليه في ملفpreload()تعمل في<script context="module">جزء من المكون:

<script context="module">
	export async function preload({ params }) {
		const { id } = params
	}
</script>

لكن المشكلة هي أنك تحتاج إلى استخدامه خارجpreload()، لأداء شيء آخر.

طريقة القيام بذلك هي إعادته منpreload، وعرّفها على أنها دعامة للمكون ، باستخدام المعتادexport *بناء الجملة.

هذا مثال:

<script context="module">
	export async function preload({ params }) {
		const { id } = params
		return { id }
	}
</script>

<script> export let id

if (typeof window !== ‘undefined’) { alert(id) } </script>

تحميل مجانيكتيب Svelte


المزيد من البرامج التعليمية svelte: