Blazor:是否有一种方式在代码中动态实例化组件并导航到该组件?
创始人
2024-12-22 12:00:16
0

是的,可以通过调用NavigationManager.NavigateTo(uri)方法来与动态实例化的组件进行导航。可以将组件的路由路径作为uri进行导航。

下面是一个简单的示例,演示如何动态实例化组件并导航到该组件。

在Blazor应用程序中,首先创建一个动态组件。可以使用@dynamicComponent.CreateComponent()方法来动态实例化组件。

@inject IComponentService dynamicComponent



@code {
  private RenderFragment myComponent;

  protected override async Task OnInitializedAsync() {
    myComponent = dynamicComponent.CreateComponent(new Dictionary()
    {
        { "Parameter1", "Value1" },
        { "Parameter2", 123 }
    });
  }

  private void NavigateToComponent()
  {
    NavigationManager.NavigateTo("/mycomponent");
  }
}

在上面的代码中,我们先在OnInitializedAsync方法中使用dynamicComponent.CreateComponent()方法来实例化一个名为MyComponent的组件,并将一些参数传递给该组件。我们还为 myComponent 变量设置了一个 RenderFragment,这个变量将在 NavigateToComponent 方法中使用。

现在,您可以在按钮的_click事件中,使用NavigationManager.NavigateTo()方法来导航到动态创建的组件。在这个例子中,我们将导航到/mycomponent路径,这是 MyComponent 组件的路由路径。

要确保该组件在组件映射中具有路由路径。在Startup.cs文件中添加以下代码:

app.UseEndpoints(endpoints =>
{
    endpoints.MapRazorPages();
    endpoints.MapControllers();
    endpoints.MapBlazorHub();
    endpoints.MapFallbackToPage("/_Host");

    endpoints.MapBlazorComponent("/mycomponent");
});

现在,当用户单击“Navigate to Component”按钮时,将触发NavigateToComponent方法,并在应用程序中导航到动态创建的MyComponent组件。

相关内容

热门资讯

透视脚本!德普辅助软件,山西扣... 透视脚本!德普辅助软件,山西扣点免费辅助下载,细节揭秘(有挂解密)1、山西扣点免费辅助下载ai辅助优...
透视工具!德扑之心免费透视,微... 透视工具!德扑之心免费透视,微信小程序微乐辅助器脚本,教你教程(有挂技巧)1、微信小程序微乐辅助器脚...
透视有挂!wepokerplu... 透视有挂!wepokerplus辅助,情怀游戏作弊,必赢方法(有挂插件);1、进入游戏-大厅左侧-新...
透视线上!如何下载wpk透视版... 透视线上!如何下载wpk透视版,嘟咪互动有挂吗,科技教程(有挂方法)所有人都在同一条线上,像星星一样...
透视能赢!wepoker辅助器... 透视能赢!wepoker辅助器下载,黑桃a3辅助,第三方教程(有挂插件)1、让任何用户在无需wepo...
透视计算!约局吧德州真的存在透... 透视计算!约局吧德州真的存在透视吗,广西友乐辅助器,玩家教程(有挂规律)1、每一步都需要思考,不同水...
透视挂透视!htx矩阵wepo... 透视挂透视!htx矩阵wepoker辅助,科乐天天踢起手好牌,教你攻略(有挂介绍)该软件可以轻松地帮...
透视计算!werplan外挂,... 透视计算!werplan外挂,心悦海南苹果版辅助,技巧教程(有挂揭秘);1、心悦海南苹果版辅助透视辅...
透视透视!拱趴大菠萝十三水作弊... 透视透视!拱趴大菠萝十三水作弊,牌乐门黑科技,解密教程(有挂黑科技)一、牌乐门黑科技AI软件牌型概率...
透视软件!cloudpoker... 透视软件!cloudpoker怎么开挂,卡五星辅助器,玩家教你(有挂辅助);1、任何卡五星辅助器ai...