在Blazor客户端加载JS模块的最佳实践是什么?
在Blazor中,有几个用于执行JavaScript代码的选项:在Blazor客户端加载JS模块的最佳实践是什么?,blazor,blazor-client-side,blazor-webassembly,asp.net-blazor,Blazor,Blazor Client Side,Blazor Webassembly,Asp.net Blazor,在Blazor中,有几个用于执行JavaScript代码的选项: 将js文件加载到IJSObjectReference的实例中,并对其调用InvokeAsync: Blazor组件的代码隐藏文件: AfterRenderAsync(bool firstRender)上的受保护重写异步任务 { if(firstRender) { IJSObjectReference模块=等待JSRuntime.InvokeAsync(“导入”,“脚本1.js”); wait module.InvokeVoidAs
AfterRenderAsync(bool firstRender)上的受保护重写异步任务
{
if(firstRender)
{
IJSObjectReference模块=等待JSRuntime.InvokeAsync(“导入”,“脚本1.js”);
wait module.InvokeVoidAsync(“sampleFunction1”);
}
}
Blazor组件的代码隐藏文件:
AfterRenderAsync(bool firstRender)上的受保护重写异步任务
{
if(firstRender)
{
等待JSRuntime.InvokeVoidAsync(“sampleFunction1”);
}
}
这两种方法都有效,但从性能、代码维护和代码清洁度的角度来看,哪种方法更可取?我将使用第一种方法(在OnAfterRenderAsync期间导入),下面是我的解释:
- 预渲染html不受关键渲染路径阻止程序()的污染
- 在将其标记为async以修复渲染阻塞之后,无需等待加载它来调用某些方法:)
- 最终用户的网络开销更小
- 与blazor()生成的PWA service-worker.js的开箱即用集成