如何使用静态渲染模式调用 blazor onclick 方法

How to call blazor onclick method with static render mode

静态组件渲染时如何调用onclick方法html?我的意思是,JavaScript 中是否有任何解决方法?

@(await Html.RenderComponentAsync<Awesome>(RenderMode.Static))

还有 Awesome.razor

<h3>@name</h3>

<button @onclick="@(() => name = name.ToUpper())">Upper case me</button>

@code {
    string name = "Mr. Blazor";
}

在使用 ServerPrerendered 时它似乎可以工作,因为 oninitialize 方法已启动,但 onclick 再次不起作用。

@(await Html.RenderComponentAsync<Awesome>(RenderMode.ServerPrerendered))

the docs说:

Static : Renders the component into static HTML

这意味着 @onclick 将永远无法工作,用 C# 编写的任何其他内容也将无法工作。

is there any workarounds in JavaScript?

JavaScript 仍然有效,使用 onclick(没有 @)。但这不会让你使用这个 name 变量。