Blazor应用程序引导程序和生命周期方法

这里,blazor-boot 用作脚本类型。现在的问题是为什么在index.html文件中使用它?

构建应用程序时, blazor-boot 将替换为处理.NET运行时的bootstrapping脚本并执行应用程序的入口点。以下屏幕截图可以告诉我们在哪里加载了什么 blazor-boot。

在这里,我们可以看到运行.NET运行时所需的所有东西都加载了这个,我们的应用程序被引导。

Blazor应用程序引导程序和生命周期方法

应用程序生命周期方法

好吧,我们已经设置了我们的项目,让我们深入了解Blazor App的应用程序生命周期方法的细节。Blazor应用程序中有大约7种生命周期方法; Blazor提供同步和异步生命周期方法,让我们一个接一个地使用它们。

1. OnInit()

这是应用程序方法的同步版本,在组件初始化时执行。这在组件完全加载时执行。我们可以使用此方法从服务加载数据,因为在此方法之后加载UI中的每个控件。当组件就绪并且它已从渲染树中的父级接收到值时,将执行此操作

2. OnInitAsync()

这是应用程序方法的异步版本,在初始化组件时执行。当组件完全初始化并且可用于调用数据服务或从服务加载数据时调用此方法。当组件就绪并且它已从渲染树中的父级接收到值时,将执行此操作。

3. OnParametersSet()

这是组件从其父组件接收参数时设置参数的同步方法。当组件初始化发生时调用它。

4. OnParametersSetAsync()

这是在组件从父组件接收参数时设置参数的异步方式,当组件初始化发生时调用该参数。

5. ShouldRender()

我们使用此方法来抑制UI的刷新。如果此方法返回true,则刷新UI,否则,不会将更改发送到UI。有一件事ShouldRender() 是它尽管返回值总是进行初始渲染。

6. OnAfterRender()

每次组件完成呈现组件的所有引用并且它们都被填充时,就会调用此方法。我们可以使用此方法执行其他步骤,如初始化其他组件。

6. OnAfterRenderAsync()

此方法是OnAfterRender() 在填充对组件的所有引用的呈现时调用的异步版本 。我们可以使用此方法执行第三方组件的其他初始化。

以下是一些演示应用程序生命周期的代码:

@page "/"

Application Life cycle Methods ..

@foreach (var item in EventType){ @item


}

@functions{

List EventType = new List();

protected override void OnInit()

{

EventType.Add(" 1 OnInit");

}

protected override async Task OnInitAsync()

{

EventType.Add("2 OnInit Async");

await Task.Delay(1000);

}

protected override void OnParametersSet()

{

EventType.Add("3 On Parameter set ");

}

protected override async Task OnParametersSetAsync()

{

EventType.Add(" 4 OnParametersSet Async Started");

await Task.Delay(1000);

}

protected override bool ShouldRender()

{

EventType.Add(" 5 Should render called");

return true;

}

protected override void OnAfterRender()

{

EventType.Add(" 6 OnAfterRenderStarted");

}

protected override async Task OnAfterRenderAsync()

{

EventType.Add(" 7 OnAfterRender Async Started");

await Task.Delay(1000);

}

}

运行上面的代码,我们将得到以下输出:

Blazor应用程序引导程序和生命周期方法

我们可以看到逐个调用的步骤和方式以及应用程序方法的顺序。

结论

Blazor是使用Web程序集运行应用程序的技术。它使用ASP.NET Core来构建应用程序。它与当前的UI框架语言(如React或Angular)有许多相似之处,作为C#开发人员,它将是构建应用程序的绝佳平台,尤其是单页面应用程序。虽然不适用于生产系统,但这当然是一个激动人心的时刻。


分享到:


相關文章: