zoukankan      html  css  js  c++  java
  • Blazor 生命周期

    组件初始化方法

    同步操作

    protected override void OnInitialized()
    {
        ...
    }
    

    异步操作

    protected override async Task OnInitializedAsync()
    {
        await ...
    }
    

    设置参数之前

    SetParametersAsync 在呈现树中设置组件的父组件提供的参数:

    public override async Task SetParametersAsync(ParameterView parameters)
    {
        await ...
    
        await base.SetParametersAsync(parameters);
    }
    

    设置参数之后

    OnParametersSetAsyncOnParametersSet 在以下情况下调用:

    • 当组件被初始化并从其父组件收到其第一组参数时。
    • 当父组件重新呈现并提供以下内容时:
      • 至少一个参数已更改的唯一已知基元不可变类型。
      • 任何复杂类型的参数。 框架无法知道复杂类型参数的值是否在内部发生了改变,因此,它将参数集视为已更改。
    protected override async Task OnParametersSetAsync()
    {
        await ...
    }
    

    备注

    应用参数和属性值时,异步操作必须在 OnParametersSetAsync 生命周期事件期间发生。

    protected override void OnParametersSet()
    {
        ...
    }
    

    组件呈现之后

    OnAfterRenderAsyncOnAfterRender 在组件完成呈现后调用。 此时会填充元素和组件引用。 在此阶段中,可使用呈现的内容执行其他初始化步骤,例如激活对呈现的 DOM 元素进行操作的第三方 JavaScript 库。

    OnAfterRenderAsyncOnAfterRenderfirstRender 参数:

    • 在第一次呈现组件实例时设置为 true
    • 可用于确保初始化操作仅执行一次。
    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        if (firstRender)
        {
            await ...
        }
    }
    

    备注

    呈现后立即进行的异步操作必须在 OnAfterRenderAsync 生命周期事件期间发生。

    即使从 OnAfterRenderAsync 返回 Task,框架也不会在任务完成后为组件再安排一个呈现循环。 这是为了避免无限呈现循环。 它与其他生命周期方法不同,后者在返回的任务完成后会再安排呈现循环。

    protected override void OnAfterRender(bool firstRender)
    {
        if (firstRender)
        {
            ...
        }
    }
    

    禁止 UI 刷新

    替代 ShouldRender 以禁止 UI 刷新。 如果实现返回 true,则刷新 UI:

    protected override bool ShouldRender()
    {
        var renderUI = true;
    
        return renderUI;
    }
    
  • 相关阅读:
    在登陆脚本中设置自动打开某个网页
    修改2k自动登陆的脚本
    COM组件和NT服务
    HRMS提示"HRMS服务器未注册或注册不正确"问题
    登录脚本
    vb的GUID生成算法
    WIN2000管理员密码的解密
    注册表中相等的项
    统一管理Windows 2000域中的服务
    深入挖掘Windows脚本技术
  • 原文地址:https://www.cnblogs.com/ouyangkai/p/13826802.html
Copyright © 2011-2022 走看看