onclick - blazor 组件中的 OnClick 和 @onclick 有什么区别
问题描述
我发现了一些奇怪的东西,我想知道是否有人知道答案:
首先这不是这个问题: Blazor 中的不同方法调用 那个问题是指 HTML 元素。我说的是组件。
所以我有自己的名为 MyButton 的组件;并指定了 OnClick 参数:
MyButton.razor
<button @onclick="OnClick">Do Something</button>
@code {
[Parameter]
public EventCallback<MouseEventArgs> OnClick { get; set; }
}
当我使用 MyButton 时,我可以使用任何一个名称,即
<MyButton OnClick="SomeMethod" />
但这也有效:
<MyButton @onclick="SomeMethod" />
当我从 MyButton.razor 中删除整个 @code 块时,它们都给了我完全相同的错误消息:
<Mybutton OnClick="MyMethod" />
“MyButton”类型的对象没有与名称“OnClick”匹配的属性。
<Mybutton @onclick="MyMethod" />
“MyButton”类型的对象没有与名称“onclick”匹配的属性。
唯一的区别在于大写。“OnClick”与“onclick”......这是合乎逻辑的。所以看起来@onclick 与 OnClick 相同......但它们是吗?
这仅仅是某种超载吗?
解决方案
推荐阅读
- c# - 通过 selenium 从 chrome 商店下载扩展
- javascript - 如何从外部 API 获取所有特定数据并发送到 Angular 中的数据库
- ada - 处理长时间运行的阻塞函数
- angular - PrimeNG(Angular) 模块在生产模式下缺失,但在开发模式下可用
- javascript - React.useEffect 未在重新渲染时运行
- sqlite - 在 SQLite3 中使用外键将行插入到不同的表中
- ansible - Ansible SHA1 加密变量
- c# - EF Core 项目中的类型加载异常
- php - Codeigniter 图像名称作为名称发送到数据库
- python - AttributeError:“成员”对象没有属性“表情符号”