![](/img/trans.png)
[英]load different Layout component for Mobile and Desktop device on Blazor Server Application
[英]Blazor load elements on layout
当页面 A 打开时如何仅加载导航栏部分 A 或如何知道布局中加载了哪个页面?
布局:
@inherits LayoutComponentBase
<NavMenu />
<div class="container">
@Body
</div>
导航菜单
<nav class="navbar">
<div>elementA</div>
<div>elementB</div>
</nav>
页面 A:
@Page "/PageA"
<div class="row">
...
</div>
B页:
@Page "/PageB"
<div class="row">
...
</div>
NavigationManager.Uri
可以获取当前的 uri。可以检查 Uri 中是否包含PageA
或PageB
。可以更改 NavMenu,如下所示:
@inject NavigationManager NavigationManager
<nav class="navbar">
@{ if (NavigationManager.Uri.Contains("PageA"))
{
<div>elementA</div>
}
else if (NavigationManager.Uri.Contains("PageB"))
{
<div>Fetch Data</div>
}
}
</nav>
这是一个演示:
导航菜单:
<nav class="navbar" style="color:white">
@{ if (NavigationManager.Uri.Contains("counter"))
{
<div>counter</div>
}
else if (NavigationManager.Uri.Contains("fetch"))
{
<div>fetch data</div>
} }
</nav>
柜台:
@page "/counter"
...
获取数据:
@page "/fetchdata"
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.