9.模版頁
思想:在多個頁面之間切換時常常是大部分內容固定,而只有少部分內容在切換後是不同的,這時我們就想,把相同的部分做爲所有頁面可複用的一個模版,這就是模版面要解決的問題。
- 在路由組件中指定默認模版頁
在Blazor路由組件中,路由視圖組件中有一個叫 DefaultLayout 的參數,該參數就是用來指定應用程序中,所有頁面共同使用的默認模版頁,Routers.razor組件 如下代碼:
<Router AppAssembly="@typeof(Program).Assembly"
<Found Context="routeData">
<RouterView RouteData="@routeData" DefaultLayout="@typeof(Layout.MainLayout)" />
<FocusOnNavigate RouterData="@routeData" Selector="h1" />
</Found>
<NotFound>
<p>沒有找到相關的路由</p>
</NotFound>
</Router>
- 在普通頁面中切換或說指定模版頁
用 @layout 指令來指定即可。
說明:
所有模版頁繼承自 LayoutComponentBase ,而這個基類也是繼承自 ComponetBase 只是多了一個 Body 參數(RenderFragement?委託類型),用來讓將來子頁面嵌入在這裏。