我发现了一些有趣的事情,想知道是否有人知道答案:
首先,这不是这个问题: Blazor中不同方法调用 那个问题是关于HTML元素的。我在谈论组件。
所以我有自己的一个名为MyButton的组件;它有指定的OnClick参数:
MyButton.razor
当我使用MyButton时,可以使用完全一样的名称,即
唯一的区别在于大写字母。 "OnClick"与"onclick"不同… 那很合乎逻辑。那么@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呢?
这只是某种重载吗?