blazor优雅的方式导入组件相关的js脚本

基本的组件导入方式为:

复制代码
1 await JsRuntime.InvokeVoidAsync("import", $"XXXXX.js");

优雅的组件导入方式:

复制代码
1 await JsRuntime.ImportAsync<DocEditor>();

这种优雅一点不难,只需要写一个扩展方法,把他放在任意地方并且导入命名空间,或者放到和项目同一个命名空间下:

复制代码
 1 public static ValueTask ImportAsync(this IJSRuntime js, string path)
 2 {
 3     return js.InvokeVoidAsync("import", path);
 4 }
 5 public static ValueTask ImportAsync<Component>(this IJSRuntime js) where Component : ComponentBase
 6 {
 7     var nm = typeof(Component).Name;
 8     var fnm = typeof(Component).FullName!;//获取包含完整命名空间的名称
 9     var sns = fnm.Split('.', StringSplitOptions.RemoveEmptyEntries);
10     sns = sns.SkipWhile(x => x != "Components").TakeWhile(x => x != nm).ToArray();
11     return js.InvokeVoidAsync("import", $"/{string.Join('/', sns)}/{nm}.razor.js");
12 }

这种优雅一点不难,只需要写一个扩展方法,把他放在任意地方并且导入命名空间,或者放到和项目同一个命名空间下

这种优雅一点不难,只需要写一个扩展方法,把他放在任意地方并且导入命名空间,或者放到和项目同一个命名空间下

相关推荐
曾经的三心草1 天前
小程序-基础加强-自定义组件
微信小程序·自定义组件·基础加强
Maybe_ch8 天前
Blazor-选择&循环语句
blazor
Maybe_ch10 天前
Blazo-Blazor Web App项目结构
c#·blazor
Maybe_ch11 天前
ASP.NET Blazor部署方式有哪些?
后端·c#·asp.net·blazor
码农君莫笑13 天前
使用 Blazor 和 Elsa Workflows 作为引擎的工作流系统开发
blazor·工作流
码农君莫笑19 天前
Blazor开发复杂信息管理系统的优势
c#·blazor·信息管理系统·业务系统
码农君莫笑19 天前
Blazor程序系统终端用户加载和运行方式研究
microsoft·c#·blazor·发布
码农君莫笑20 天前
Blazor中Syncfusion Word组件使用方法
microsoft·c#·word·blazor·syncfusion
码农君莫笑21 天前
Blazor中Syncfusion图像编辑器组件使用方法
图像处理·blazor·syncfusion
码农君莫笑22 天前
从 C# 和 WPF 转向 Blazor 开发快速精通方法
c#·wpf·blazor