Blazor 组件的完整生命周期包括以下阶段:
1. **构造(Construction)**:
- 当组件实例化时,构造函数会被调用。
2. **注入(Injection)**:
- 如果组件使用了依赖注入,相关的服务会被注入到组件中。
3. **参数设置(Parameter Set)**:
- 在组件的参数被设置之前,OnInitialized 方法会被调用。
4. **初始化(Initialization)**:
- OnInitializedAsync 或 OnInitialized 方法会在组件参数被设置后立即调用。
5. **更新(Update)**:
- 在组件渲染前,Blazor 会检查是否需要更新组件。如果需要更新,将会调用 ShouldRender 方法。
6. **参数更改(Parameter Change)**:
- 如果组件参数发生变化,OnParametersSetAsync 或 OnParametersSet 方法会被调用。
7. **渲染树构建(Build Render Tree)**:
- 框架会构建组件的渲染树。
8. **预渲染(Prerendering)**:
- 如果启用了预渲染,OnInitializedAsync 和 OnParametersSetAsync 方法会在组件首次渲染前执行。
9. **渲染(Rendering)**:
- 组件的渲染方法 Render 方法会被调用。
10. **更新完成(Updated)**:
- 组件完成渲染后,OnAfterRenderAsync 或 OnAfterRender 方法会被调用。
11. **卸载(Unloading)**:
- 当组件从 DOM 中移除时,DisposeAsync 或 Dispose 方法会被调用。
这些阶段构成了 Blazor 组件的完整生命周期。