何时在 Blazor 中拥有多个根组件?

Eld*_*360 5 blazor blazor-server-side asp.net-blazor blazor-webassembly blazor-component

在 main 方法中dotnet core blazor web assembly app有一个WebAssemblyHostBuilder为 blazor 应用程序构建主机的类。在那个类中有一个公共属性,称为RootComponentMappingCollection它可以添加 blazor 应用程序的根组件(设置路由的组件)。

可以向该集合添加更多根组件。我很好奇为什么在一个应用程序中拥有多个根组件,拥有多个根组件有什么好处,何时以及在什么情况下拥有多个根组件更好?

Hen*_*man 3

您将拥有 2 个以上的独立路由器来对相同的 URL 做出反应。

对于简单的应用程序,请考虑具有普通“用户”页面的站点。您可以通过在 Index.Html 中堆叠额外的根来在每个页面中注入管理员或开发人员部分。

您也可以使用 AuthorizeRouteView 完成一些事情,但作为一个单独的应用程序组件,它将是一个更干净、更独立的解决方案。