<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های علیرضا علی بیکی</title>
        <link>https://virgool.io/feed/@alireza-ab</link>
        <description>یه برنامه نویس عاشق یادگیری (https://t.me/alireza_alibeiki_ch)</description>
        <language>fa</language>
        <pubDate>2026-06-16 09:04:32</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/211954/avatar/fQMxN3.jpg?height=120&amp;width=120</url>
            <title>علیرضا علی بیکی</title>
            <link>https://virgool.io/@alireza-ab</link>
        </image>

                    <item>
                <title>مسیردهی پیشرفته در Nuxt</title>
                <link>https://virgool.io/@alireza-ab/advanced-routing-in-nuxt-rnywfhmel2za</link>
                <description>فرض کنید با nuxt در حال پیاده سازیه صفحه لیست محصولات یه دسته بندی هستینآدرس صفحه لیست اینجوریه:/{category}/{page}که ممکن شماره صفحه هم وجود نداشته باشه و آدرس به این شکل باشه:/{category}آدرس صفحه هر محصول هم اینجوریه:/{category}/{product}یه روش مرسوم که اکثریت برای پیاده سازی این صفحات استفاده میکنند اینه که کامپوننت های CategoryList و Product رو توی پوشه components میسازن و اونو توی صفحات صدا میزن؛ یعنی:// pages/[category]/index.vue
&lt;template&gt;
    &lt;CategoryList /&gt;
&lt;/template&gt;// pages/[category]/[param].vue
&lt;template&gt;
    &lt;CategoryList v-if=&amp;quotisNumber($route.params.param)&amp;quot /&gt;
    &lt;Product v-else /&gt;
&lt;/template&gt;برای پیاده سازی بهتر باید توی صفحه دوم از LazyCategoryList و LazyProduct استفاده بشه.اما یه روش بهتری وجود داره برای پیاده سازی با Router Options.برای استفاده از Router Options شما صفحاتتون رو اینجوری پیاده میکنید:// pages/[category]/index.vue
&lt;template&gt;
    &lt;CategoryList /&gt;
&lt;/template&gt;// pages/[category]/[product].vue
&lt;template&gt;
    &lt;Product /&gt;
&lt;/template&gt;و یه فایل توی پوشه app به نام router.options.ts (یا پسوند .js) با مقادیر زیر میسازید:import type { RouterConfig } from &#039;@nuxt/schema&#039;
export default &lt;RouterConfig&gt;{
    routes: (_routes) =&gt; [
        ..._routes,
        {
            name: &#039;category-page&#039;,
            path: &#039;/:category/:page(\\d+)&#039;,
            component: () =&gt;
               import(&#039;~/pages/[category]/index.vue&#039;).then((r) =&gt; r.default || r),
            },
    ],
};با این روش زمانیکه کاربر مثلا آدرس /category/2 رو وارد کنه صفحه pages/[category]/index.vue صدا زده میشه و اگه چنین مسیری وارد بشه /category/product صفحه pages/[category]/[product].vue صدا زده میشه.برای گرفتن شماره صفحه وارد شده داخل URL توی صفحه category از ‍‍‍&#x60;useRoute().params.page&#x60; استفاده میکنیم.اگه دوست دارید بیشتر در این مورد بدونید از لینک های زیر استفاده کنید:https://nuxt.com/docs/guide/recipes/custom-routinghttps://router.vuejs.org/guide/essentials/dynamic-matching.html</description>
                <category>علیرضا علی بیکی</category>
                <author>علیرضا علی بیکی</author>
                <pubDate>Thu, 16 May 2024 11:24:24 +0330</pubDate>
            </item>
            </channel>
</rss>