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?委托类型),用来让将来子页面嵌入在这里。