پرووید
پرووید
خواندن ۲ دقیقه·۴ سال پیش

بررسی کامپوننت Router در Bazor


با درس بعدی از دوره آموزش رایگان، کار کردن با تکنولوژی Blazor برای توسعه وب اپلیکیشن ها در خدمت شما هستیم.امیدواریم که این آموزش تا به اینجای کار مورد توجه شما قرار گرفته باشد و با انرژی تمام مشتاق ادامه کار باشید.

همانطور که دیدید در قسمت قبلی ما در رابطه با Page ها و نحوه ایجاد کردن آنها صحبت کردیم قرار است که در این قسمت در رابطه با کامپوننت Router در Blazor صحبت کنیم

بررسی کامپوننت Router

مکانیزم Routing به معنی ارسال یک Request به یک کامپوننت مناسب در Blazor توسط یک کامپوننت درونی به نام Router اتفاق می‌افتد. کامپوننت Router به طور پیش فرض در Root Component برنامه یعنی App.razor تعریف می گردد. این موضوع در کد زیر نیز نشان داده شده است:

"> <RouterAppAssembly="@typeof(Program).Assembly">
"> <FoundContext="routeData">
"> <RouteViewRouteData="@routeData"DefaultLayout="@typeof(MainLayout)"/>
">
">
"> <LayoutViewLayout="@typeof(MainLayout)">
Sorry,there'snothingatthisaddress.">

Sorry,there'snothingatthisaddress.

">
">
">

مکانیسم Routing به این شکل انجام می‌شود که در ابتدا کامپوننت Router تمامی کامپوننت های قابل Route شدن در AppAssembly و همچنین AdditionalAssemblies ‌ها از Blazor که به صورت اختیاری تنظیم کرده‌اند، گردیده است را کشف می‌کند. در ادامه زمانی که Navigation در مرورگر اتفاق می‌افتد کامپوننت را Router این Navigation را دریافت کرده و محتوای مربوط به پارامتر Found خود را رندر می‌کند این کار با لحاظ کردن مقدار درون RouteData که آن را استخراج کرده است، اتفاق می‌افتد البته دقت کنید که این موضوع فقط زمانی اتفاق می‌افتد که یک Route متناظرن با آدرسی که مرورگر به آن Navigate کرده است، پیدا شود. در صورت در صورت عدم رخ دادن این اتفاق کامپوننت رفتار پارامتر NotFound خود را رندر خواهد کرد.

موضوع دیگر اینکه کامپوننت RouteView مکانیزم رندر شدن کامپوننت تشخیص داده شده را با استفاده از RouteData و Layout مربوط به خود انجام می دهد. اگر کامپوننت مشخص شده دارای یک Layout نباشد به طور پیش فرض از DefaultLayout استفاده میشود.

کامپوننت LayoutView اقدام به رندر کردن Child Content خود در Layout مشخص شده می کند. در رابطه با Layout ها در فصل بعدی به طور مفصل تری صحبت خواهیم کرد ولی در رابطه با بحث مربوط به Child Content توصیه می کنیم از بسته ی آموزش ویدئویی شروع به کار با Blazor در ASP.NET Core دیدن کنید. این درس را در همین قسمت به پایان می رسانیم و در قسمت بعدی در رابطه با مکانیزم نویگیشن صحبت خواهیم کرد.

آموزش route در asp net coreآموزش route در ‌blazorblazorآموزش blazor
شاید از این پست‌ها خوشتان بیاید