在我的 Blazor 客户端应用程序中,我试图覆盖OnAfterRenderAsync
使用
@code {
protected override async Task OnAfterRenderAsync()
{
}
}
我收到一个错误
没有合适的方法来覆盖!?
另一方面,这个覆盖工作得很好:
protected override async Task OnInitializedAsync()
{
}
任何线索这里有什么问题?
在我的 Blazor 客户端应用程序中,我试图覆盖OnAfterRenderAsync
使用
@code {
protected override async Task OnAfterRenderAsync()
{
}
}
我收到一个错误
没有合适的方法来覆盖!?
另一方面,这个覆盖工作得很好:
protected override async Task OnInitializedAsync()
{
}
任何线索这里有什么问题?
在 .NET Core 3.0 Preview 9的升级现有项目中引用ASP.NET Core 和 Blazor 更新:
- 用or替换
OnAfterRender()
andOnAfterRenderAsync()
实现。OnAfterRender(bool firstRender)
OnAfterRenderAsync(bool firstRender)
由于 NET Core 3.0 Preview 9OnAfterRender
接收一个布尔参数,让方法知道这是否是第一次渲染。避免自己控制它非常有用:
关于如何将旧代码替换为新代码的示例,红色旧代码,绿色新代码。
试试这个
@code {
protected override async Task OnAfterRenderAsync(bool firstRender)
{
}
}
请注意,OnAfterRenderAsync 和 OnAfterRender 都有一个布尔参数,您可以调用 firstRender
protected override async Task OnInitializedAsync()
{
}
实际上,这应该没有问题,因为这是 OnInitializedAsync 的正确方法签名