从使用RenderComponentAsync渲染的组件获取事件

时间:2019-07-16 07:56:29

标签: asp.net razor blazor

目前,我正在构建一个带有编织功能的ASP.NET应用程序。我可以使用包含的Html.RenderComponentAsync<MyComponent>()函数来渲染我的发光部件。

问题是,我希望能够从这些组件中获取事件,以便我可以在组件本身之外对它们做出反应。

通常,您会像这样将其添加到子组件代码部分中,

    [Parameter] public Action<string> addPressed {get; set;}

然后像这样在父组件中处理它

<MyComponent addPressed="DoSomethingOnPressed"/>

当我像这样通过RenderComponentAsync实例化我的组件时,我将如何处理

@(await Html.RenderComponentAsync<MyComponent>())

预先感谢

1 个答案:

答案 0 :(得分:0)

只需使用重载,它允许您传递将映射到Blazor应用程序的属性的Model对象。

@(await Html.RenderComponentAsync<MyComponent>(new { addPressed = (_) => Console.WriteLine(_) }))

实际方法可以在_Host.cshtml页面中构建,也可以通过服务注入。

感谢Mister Magoo的提示。