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组件。

相关内容

热门资讯

透视智能ai!aapoker辅... 透视智能ai!aapoker辅助工具安全吗(透视)透视插件(总是存在有挂)1、不需要AI权限,帮助你...
透视教程!德普之星辅助器(透视... 透视教程!德普之星辅助器(透视)免费透视(原来是有挂);1、德普之星辅助器系统规律教程、德普之星辅助...
透视游戏!aapoker免费透... 透视游戏!aapoker免费透视脚本(透视)透视脚本(一直有挂);1、上手简单,内置详细流程视频教学...
透视规律!德普辅助软件(透视)... 透视规律!德普辅助软件(透视)私人局辅助免费(切实有挂)1、下载好德普辅助软件辅助软件之后点击打开,...
透视脚本!aapoker脚本(... 透视脚本!aapoker脚本(透视)发牌逻辑(原来存在有挂)透视脚本!aapoker脚本(透视)发牌...
透视存在!德普之星透视(透视)... 透视存在!德普之星透视(透视)透视免费(真是存在有挂)1、超多福利:超高返利,海量正版游戏,德普之星...
透视科技!aapoker辅助器... 透视科技!aapoker辅助器怎么用(透视)辅助(原来真的是有挂)1、起透看视 aapoker辅助器...
透视存在!德普之星透视辅助软件... 透视存在!德普之星透视辅助软件激活码(透视)透视辅助软件(其实是有挂)1、德普之星透视辅助软件激活码...
透视辅助!aapoker能控制... 透视辅助!aapoker能控制牌吗(透视)脚本(原来是真的有挂)1、透视辅助!aapoker能控制牌...
透视脚本!德普之星私人局辅助免... 透视脚本!德普之星私人局辅助免费(透视)辅助器app(总是有挂)1、在德普之星私人局辅助免费ai机器...