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 }

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

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

相关推荐
known3 天前
Blazor开发框架Known-V2.0.13
blazor·known
known18 天前
Blazor静态服务端呈现(静态SSR)身份认证
blazor
known24 天前
Blazor开发框架Known-V2.0.10
blazor·known
卿卿qing1 个月前
【Harmony OS 4.0】自定义组件 —— @Component 装饰器
自定义组件·harmony os 4.0
lee5761 个月前
.net 8.0 下 Blazor 通过 SignalR 与 Winform 交互
blazor·signalr
known1 个月前
Blazor开发框架Known-V2.0.9
blazor·known
界面开发小八哥1 个月前
界面控件DevExpress Blazor v24.2路线图预览——支持.NET 9、新增桑基图等
.net·界面控件·blazor·devexpress·ui开发
known2 个月前
Blazor开发框架Known-V2.0.8
blazor·known
W清风大侠M2 个月前
Blazor开发框架Known-V2.0.7
blazor
Crazy Struggle2 个月前
.NET 8 + Blazor 多租户、模块化、DDD框架、开箱即用
.net·blazor·ddd架构