这并不特定于 Blazor,但在任何类中,您都可以在组件的构造函数中创建代码/
这里有一个聊天组件,我将其分解为
Chat.razor
Chat.razor.cs
你通过添加一个与你的组件同名的类创建的 chat.razor.cs,然后添加单词 partial 使其成为一个部分类:
partial class Chat : IBlazorComponent, IBlazorComponentParent, IDisposable
注意:这些接口仅适用于我的应用程序,我只是显示带有部分的行。
你真的需要它吗:
partial class Chat
然后在我的构造函数中创建:
public Chat()
{
// Perform initializations for this object
Init();
}
我只是调用一个方法,你不必:
我的初始化方法:
public void Init()
{
// do your initializations
}
或者你可以使用 OnInitializedAsync
protected override async Task OnInitializedAsync()
{
// load the Categories (example)
this.Categories = await HelpCategoryService.GetHelpCategoryList()
}
或者这是我有时使用的另一个:OnAfterRender
protected override void OnAfterRender(bool firstRender)
{
if (firstRender)
{
...
}
}
相关文档在这里:
https://docs.microsoft.com/en-us/aspnet/core/blazor/lifecycle?view=aspnetcore-3.1
也许这会给你一些想法。不确定标准,每个用例都不同。
注意:我从未使用过 Blazor Web Assembly,只使用过服务器端 Blazor,因此不确定 WASM 的具体内容是什么,但我知道构造函数可以在任何 C# 类中使用。