【发布时间】:2021-09-11 07:59:42
【问题描述】:
我正在构建我的第一个服务器端 Blazor 应用程序并使用 MudBlazor 组件集以及 MudBlazor Admin UI layout。
布局的一个特点是它有一个不错的面包屑组件,他们已经将其定位在MainLayout.razor Page Layout,如下;
<MudBreadcrumbs Items="_items"></MudBreadcrumbs>
@Body
@code {
private List<BreadcrumbItem> _items = new List<BreadcrumbItem>
{
new BreadcrumbItem("Personal", href: "#"),
new BreadcrumbItem("Dashboard", href: "/personal/dashboard"),
};
}
如您所见,MudBreadcrumbs 组件填充了来自 _items 方法的项目,并且两者都位于 PageLayout 的 MainLayout.razor 文件中。
我可以看到页面内容在@Body 占位符处被引用和呈现。到目前为止,我有大约 15 个页面,我想使用面包屑显示每个当前页面的正确详细信息,这意味着每个页面都需要定义自己的 _items 集合。
如何在页面级别创建_items 集合,并使其可供PageLayout 中的MudBreadcrumbs 组件访问?
更新
我最终遇到了这个 SO 问题,结果证明它本质上是相同的 [而且更有趣]。 How can I modify the layout from a blazor page?
它有一个可行的解决方案,该解决方案得到了彻底的解释 - 但是,如果有一种更明显和直接的方法可以在 Blazor 中从页面到页面布局的通信,我将保留这个问题。
【问题讨论】: