想要实现 Blazor 子组件向父组件传递数据, 参考 痴者工良的博文所描述的方式, .Net 5.0 下编译未能通过, 于是先修改一下, 简化为光触发事件通知而不传值

子组件 Child.razor :

<input @bind="Value" />
<button @onclick="StartEvent">传递到父组件</button>
@code{
private string Value;
[Parameter]
public EventCallback<string> ChildEvents { get; set; }
private async Task StartEvent()
{
if (ChildEvents.HasDelegate)
{
await ChildEvents.InvokeAsync(Value);
}
}
}

父组件 Parent.razor :

@page "/p"
<div class="bg-primary jumbotron text-white">
子组件:
<Child ChildEvents="@MyEvent" />
<br />
父组件:
<p>@_Value</p>
</div>
@code{
private string _Value;
private void MyEvent()
{
Console.WriteLine("Got the ChildEvents");
}
}

调试通过, 子组件触发事件后, 父组件可以进入 MyEvent()。要传数据怎么办? 我摸索半天, 可以参照按钮事件用委托来实现。

修改后可接受参数的父组件 Parent.razor

@page "/p"
<div class="bg-primary jumbotron text-white">
子组件:
<Child ChildEvents="(e)=>MyEvent(e)" />
<br />
父组件:
<p>@_Value</p>
</div>
@code{
private string _Value;
private void MyEvent(object Value)
{
Console.WriteLine($"Got the ChildEvents({Value})");
_Value = Value.ToString();
}
}

需要注意的是 ClientEvents 委托里面的参数类型只能是 object

Blazor 子组件与父组件通过 ChildEvents 传递数据的方法的更多相关文章

  1. 在Activity之间如何传递数据,请尽可能说出你所知道的传递数据的方法,并详细描述其实现过程。

    在Activity之间如何传递数据,请尽可能说出你所知道的传递数据的方法,并详细描述其实现过程. 答案:可以通过Intent对象.静态变量.剪切板和全局对象进行数据传递,具体的数据传递方法如下. 1. ...

  2. Vue(13)子组件与父组件超详细解析

    父组件和子组件 我们经常分不清什么是父组件,什么是子组件.现在来简单总结下:我们将某段代码封装成一个组件,而这个组件又在另一个组件中引入,而引入该封装的组件的文件叫做父组件,被引入的组件叫做子组件.具 ...

  3. [Vue]子组件与父组件之间传值

    1.父组件与子组件传值props 1.1定义父组件,父组件传递 inputText这个数值给子组件: //父组件 //引入的add-widget组件 //使用 v-bind 的缩写语法通常更简单: & ...

  4. vue组件详解——使用props传递数据

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 在 Vue 中,父子组件的关系可以总结为 props向下传递,事件向上传递.父组件通过 ...

  5. Android 开发中使用Intent传递数据的方法

    Activity之间通过Intent传递值,支持基本数据类型和String对象及 它们的数组对象byte.byte[].char.char[].boolean.boolean[].short.shor ...

  6. React子组件与父组件传值

    一 子组件向父组件传值 //子组件var Child = React.createClass({ render: function(){ return ( <div> 请输入邮箱:< ...

  7. Vue子组件与父组件之间的通信

    1.环境搭建 下载 vue-cli:npm install -g vue-cli 初始化项目:vue init webpack vue-demo 进入vue-demo文件夹:cd vue-demo 下 ...

  8. Vue子组件监听事件中传递参数的方法

    在子组件中,我们可以通过以下方式监听事件: v-on:click="$emit('funcName',a)" 如果需要传多个参数,可以通过以下方式: v-on:click=&quo ...

  9. angular 子组件与父组件通讯

    1. 子组件app-sidebar.compnent.html (click)="goProject()"设置点击事件 <mat-list-item [routerLink] ...

  10. react 实现组件嵌套以及子组件与父组件之间的通信

    当子组件触发onChange事件时,实际调用的是父组件中的handelSelect函数,通俗来说就是父组件通过属性handleSelect实现与子组件之间的通信. 父组件:SignupForm 子组件 ...

随机推荐

  1. 彻底搞懂python super函数的作用

    super() 的入门使用 在类的继承中,如果重定义某个方法,该方法会覆盖父类的同名方法,但有时,我们希望能同时实现父类的功能,这时,我们就需要调用父类的方法了. 调用父类同名方法有两种方式: 1.调 ...

  2. 2023/4/22 SCRUM个人博客

    1.我昨天的任务 学习如何使用QTdesign,并完善UI 2.遇到了什么困难 在QTable上无法理解前后端互通·的问题 3.我今天的任务 学习Qt知识QTableWidgetItem完善Pyqt5 ...

  3. 【BIOS】关于启用快速启动之后进不了BIOS的问题

    这是我2013年的东芝SateLite M800的BIOS 作死开了快速启动 然后开启就跳过BIOS了 找贴吧看到的方法,先关机,然后按住访问BIOS的按键不要放 再启动,就会进BIOS了[老哥真牛]

  4. Jax框架的显存分析已经不支持gperftools,而是支持go语言下的新版本pprof

    官方: https://jax.readthedocs.io/en/latest/device_memory_profiling.html

  5. 如何使用深度学习技术探测代码逻辑死循环 —— 浪潮集团的“公开号CN117271314A”专利

    专利公开号: CN117271314A 新闻链接: https://mbd.baidu.com/newspage/data/landingsuper?context={"nid"% ...

  6. 【转转】 Huber Loss

    原文地址: https://www.cnblogs.com/nowgood/p/Huber-Loss.html ============================================ ...

  7. 【CMake系列】07-export与find

    为了将我们的库文件更方便地提供给他人使用,cmake 提供了一种方式,通过查找 .cmake 文件,将库导入项目中. 本节学习的内容,就是将我们的库导出一个 xxx.cmake 文件,以及 在项目中导 ...

  8. 痞子衡嵌入式:英飞凌MirrorBit工艺NOR Flash的扇区架构设计

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是英飞凌MirrorBit工艺NOR Flash的扇区架构设计. NOR Flash 大家都很熟悉,其内部按组织从小到大分为 Page(12 ...

  9. CORDIC算法解释及FPGA实现(圆坐标系)

    CORDIC算法解释及Verilog仿真(圆坐标系) CORDIC算法原理阐述 CORDIC(Coordinate Rotation Digital Computer)算法,即坐标旋转数字计算方法,是 ...

  10. MFC中CString转int,double

    CString str=L"123"; int n=_wtoi(str); //n=123 double d=_wtof(str); //d=123.0000 Vs2012中编译