分类:
ASP.NET
1、组件初始化 当组件从其父组件收到其初始化参数后,将调用OnInitalizedAsync和OnInitialized。 在组件同步操作时,请重写OnInitalized protected override void OnInitialized() { } 在组件执行异步操作时,请重写OnInitializedAsync protected override Task OnInitializedAsync() { } 在预呈现Blazor Server应用时,会调用OnInitializedAsync两次; 初始以静态方式呈现组件; 当浏览器与服务器建立连接时会再次呈现组件 若防止OnInitializedAsync执行两次; 传入一个标识符,该标识符可以在预呈现期间缓存状态,并在预呈现检索状态; 在预呈现Blazor Server应用时,某些操作(如调用JavaScript)是不能执行的,因为尚未建立与浏览器的连接,在预呈现时组件可能需要以不同的方式呈现这时可以组件的 OnAfterRenderAsync生命周期事件仅在完全呈现组件并建立客户端连接后,才调用此事件。 2、设置参数之前 SetParametersAsync用来设置由呈现树中的父组件提供的参数; public override async Task SetParametersAsync(ParameterView parameters) { } ParameterView包含每次调用SetParametersAsync时的完整参数集。 SetParametersAsync的默认实现是将每个属性的值设置为在ParameterView中具有响应值的[Parmeter]特性或[CascadingParameter]特性。在ParameterView中,没有相应值将保 持不变。 如果未调用base.SetParametersAsync,则自定义代码以任何所需的方式解释传入参数值,例如不要求传入参数分配给类的属性。 3、设置参数之后 当组件已初始化并收到其父组件的第一组参数时; 当父组件重新呈现并提供参数时; 至少有一个参数已更改(基元为不可改变类型) 任何复杂类型的参数。(则会调用OnParametersSetAsync) 异步 protected override async Task OnParametersSetAsync() { return base.OnParametersSetAsync(); } 同步 protected override Task OnParametersSetAsync() { return base.OnParametersSetAsync(); } 4、组件呈现之后 当组件呈现之后,将调用OnAfterRender和AfterRender,此时将填充元素和元素组件引用。在此阶段,可以使用呈现的内容执行其他初始化步骤,如激活在呈现的Dom元素上操 作的第三方JavaScript库。 OnAfterRender和AfterRender参数作用如下: 在第一次呈现组件实例时,设置为true; 可用于确保禁止性一次初始化工作。 protected override async Task OnAfterRenderAsync(bool firstRender) { return base.OnAfterRenderAsync(firstRender); } 同步 protected override void OnAfterRender(bool firstRender) { base.OnAfterRender(firstRender); } 在服务器上预呈现Blazor时不会调用OnAfterRender和OnAfterRenderAsync 5、禁止UI刷新 重写ShouldRender来取消UI刷新,如果实现则返回true,否则刷新UI protected override bool ShouldRender() { return true; } 每次调用ShouldRender。即使ShouldRender被重写,组件也始终是最初呈现的。 6、状态更改 StateHasChanged用来通知组件状态已更改,若调用StateHasChanged方法,则会导致组件重新呈现。 7、JavaScript互操作 需要第三方JavaScript库和访问浏览器API的应用,组件需要与JavaScript进行互操作组件能够使用JavaScript能够使用的任何库或API。c#代码可以调用JavaScript代码, JavaScript是可以调用c#代码。 8、通过,NET代码调用JavaScript函数 有时需要通过.net代码才能调用JavaScript函数。IJSRuntime抽象。若要发出JS互操作调用,请在组件中注入IJSRuntime。InvokeAsync<T>方法采用JavaScript函数的标志符。
评价
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术