<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های علیرضا علی بیکی</title><link>https://virgool.ir/feed/@alireza-ab</link><description>یه برنامه نویس عاشق یادگیری (https://t.me/alireza_alibeiki_ch)</description><language>fa</language><pubDate>2026-11-10 22:18:18</pubDate><image><url>https://files.virgool.ir/upload/users/211954/avatar/fQMxN3.jpg</url><title>علیرضا علی بیکی</title><link>https://virgool.ir/@alireza-ab</link></image><item><title>مسیردهی پیشرفته در Nuxt</title><link>https://virgool.ir/@alireza-ab/advanced-routing-in-nuxt-rnywfhmel2za</link><description>فرض کنید با nuxt در حال پیاده سازیه صفحه لیست محصولات یه دسته بندی هستینآدرس صفحه لیست اینجوریه:/{category}/{page}که ممکن شماره صفحه هم وجود نداشته باشه و آدرس به این شکل باشه:/{category}آدرس صفحه هر محصول هم اینجوریه:/{category}/{product}یه روش مرسوم که اکثریت برای پیاده سازی این صفحات استفاده میکنند اینه که کامپوننت های CategoryList و Product رو توی پوشه components میسازن و اونو توی صفحات صدا میزن؛ یعنی:// pages/[category]/index.vue&#xA;&lt;template&gt;&#xA;    &lt;CategoryList /&gt;&#xA;&lt;/template&gt;// pages/[category]/[param].vue&#xA;&lt;template&gt;&#xA;    &lt;CategoryList v-if=&#34;isNumber($route.params.param)&#34; /&gt;&#xA;    &lt;Product v-else /&gt;&#xA;&lt;/template&gt;برای پیاده سازی بهتر باید توی صفحه دوم از LazyCategoryList و LazyProduct استفاده بشه.اما یه روش بهتری وجود داره برای پیاده سازی با Router Options.برای استفاده از Router Options شما صفحاتتون رو اینجوری پیاده میکنید:// pages/[category]/index.vue&#xA;&lt;template&gt;&#xA;    &lt;CategoryList /&gt;&#xA;&lt;/template&gt;// pages/[category]/[product].vue&#xA;&lt;template&gt;&#xA;    &lt;Product /&gt;&#xA;&lt;/template&gt;و یه فایل توی پوشه app به نام router.options.ts (یا پسوند .js) با مقادیر زیر میسازید:import type { RouterConfig } from &#39;@nuxt/schema&#39;&#xA;export default &lt;RouterConfig&gt;{&#xA;    routes: (_routes) =&gt; [&#xA;        ..._routes,&#xA;        {&#xA;            name: &#39;category-page&#39;,&#xA;            path: &#39;/:category/:page(\\d+)&#39;,&#xA;            component: () =&gt;&#xA;               import(&#39;~/pages/[category]/index.vue&#39;).then((r) =&gt; r.default || r),&#xA;            },&#xA;    ],&#xA;};با این روش زمانیکه کاربر مثلا آدرس /category/2 رو وارد کنه صفحه pages/[category]/index.vue صدا زده میشه و اگه چنین مسیری وارد بشه /category/product صفحه pages/[category]/[product].vue صدا زده میشه.برای گرفتن شماره صفحه وارد شده داخل URL توی صفحه category از ‍‍‍`useRoute().params.page` استفاده میکنیم.اگه دوست دارید بیشتر در این مورد بدونید از لینک های زیر استفاده کنید: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>