如何使用 Blazor 组件定位特定 div?
How to target specific div with Blazor components?
我有一个top-row
div如下:
<div class="top-row px-3">
<b>App:<i>Title</i></b>
<!-- wait for it ... -->
<div class="menu">
Menu Bar Here
</div>
</div>
我将有几个 MenuBar
组件,它们将在 div class menu
中换出,只需单击一个按钮.如何使用 Blazor 组件定位 div?
更新
我想我通过 Chris Sainty.
找到了解决方案
编辑
澄清我打算完成的事情:
我有两个组件:
<MenuBar1 />
<MenuBar2 />
两者包含不同的 html 以构建一个简单的菜单栏。我有导航 link,单击时会引发 onClick
事件。
如何在单击 link 时换出 MenuBar 组件?
Blazor 不使用 Javascript 策略。
为此,您必须将 HTML 与代码混合使用。
<div class="top-row px-3">
<b>App:<i>Title</i></b>
<!-- wait for it ... -->
<div class="menu">
@if (Version == "v1")
{
<p>version 1</p>
}
else if (Version == "v2")
{
<p>version 2</p>
}
</div>
</div>
对于动态菜单,在共享文件夹中添加一个文件。
文件名 = class 名称
例如 MenuButton.razor
@inject NavigationManager navManager
<button @onclick="(e)=>navManager.NavigateTo(route)">@(label)</button>
@code {
[Parameter]
public string label { get; set; }
[Parameter]
public string route { get; set; }
}
消耗这个组件
<div class="top-row px-3">
<b>App:<i>Title</i></b>
<!-- wait for it ... -->
<div class="menu">
<MenuButton label="Choice 1" route="/route1" />
<MenuButton label="Choice 2" route="/route2" />
</div>
</div>
我有一个top-row
div如下:
<div class="top-row px-3">
<b>App:<i>Title</i></b>
<!-- wait for it ... -->
<div class="menu">
Menu Bar Here
</div>
</div>
我将有几个 MenuBar
组件,它们将在 div class menu
中换出,只需单击一个按钮.如何使用 Blazor 组件定位 div?
更新
我想我通过 Chris Sainty.
编辑
澄清我打算完成的事情:
我有两个组件:
<MenuBar1 />
<MenuBar2 />
两者包含不同的 html 以构建一个简单的菜单栏。我有导航 link,单击时会引发 onClick
事件。
如何在单击 link 时换出 MenuBar 组件?
Blazor 不使用 Javascript 策略。 为此,您必须将 HTML 与代码混合使用。
<div class="top-row px-3">
<b>App:<i>Title</i></b>
<!-- wait for it ... -->
<div class="menu">
@if (Version == "v1")
{
<p>version 1</p>
}
else if (Version == "v2")
{
<p>version 2</p>
}
</div>
</div>
对于动态菜单,在共享文件夹中添加一个文件。 文件名 = class 名称 例如 MenuButton.razor
@inject NavigationManager navManager
<button @onclick="(e)=>navManager.NavigateTo(route)">@(label)</button>
@code {
[Parameter]
public string label { get; set; }
[Parameter]
public string route { get; set; }
}
消耗这个组件
<div class="top-row px-3">
<b>App:<i>Title</i></b>
<!-- wait for it ... -->
<div class="menu">
<MenuButton label="Choice 1" route="/route1" />
<MenuButton label="Choice 2" route="/route2" />
</div>
</div>