当前位置: 首页 > news >正文

贵州公司网站建设比选公示中国建设银行网站对公业务流程

贵州公司网站建设比选公示,中国建设银行网站对公业务流程,画室网站模板,做网站怎么注册域名前言Blazor支持执行JavaScript脚本#xff0c;通常是将脚本放在wwwroot/index.html(Blazor WebAssembly)或Pages/_Host.cshtml(Blazor Server)中。但是#xff0c;这种方式会将所有JS方法用全局函数加载#xff0c;即使某些方法只需要在特定组件中使用。既影响加载性能… 前言Blazor支持执行JavaScript脚本通常是将脚本放在wwwroot/index.html(Blazor WebAssembly)或Pages/_Host.cshtml(Blazor Server)中。但是这种方式会将所有JS方法用全局函数加载即使某些方法只需要在特定组件中使用。既影响加载性能又会造成全局污染。JavaScript隔离1. 标准方式从.NET 5.0开始Blazor支持在标准JavaScript模块中启用 JavaScript隔离(https://docs.microsoft.com/zh-cn/aspnet/core/blazor/javascript-interoperability/call-javascript-from-dotnet?viewaspnetcore-5.0#javascript-isolation-in-javascript-modules)。实现方式如下首先在wwwroot目录下创建独立的js文件定义JS模块比如scripts.jsexport function showPrompt(message) {return prompt(message, Type anything here); } 在Blazor组件中使用IJSRuntime将模块作为IJSObjectReference导入然后使用IJSObjectReference从模块调用导出的JS函数代码如下page /fetchdata inject IJSRuntime JSpbutton onclickTriggerPrompt按需加载JavaScript脚本/button /ppresult /pcode {private IJSObjectReference module;private string result;protected override async Task OnAfterRenderAsync(bool firstRender){if (firstRender){module  await JS.InvokeAsyncIJSObjectReference(import, ./scripts.js);}}private async Task TriggerPrompt(){result  await module.InvokeAsyncstring(showPrompt, 输入文字);} } 可以看到JS文件在访问页面时才加载并且运行正常2. libman方式但是这种方式有一个缺点文件必须放在wwwroot目录下。我更希望JS文件和对应的Blazor组件放在一起类似这样右键单击项目选择管理客户端库修改创建的libman.json文件内容如下{version: 1.0,defaultProvider: filesystem,libraries: [{library: Pages,files: [FetchData.razor.js],destination: wwwroot/}] } 右键单击libman.json选择“生产时启用还原客户端库”。修改FetchData.razor代码如下protected override async Task OnAfterRenderAsync(bool firstRender) {if (firstRender){module  await JS.InvokeAsyncIJSObjectReference(import,./FetchData.razor.js);} } 再次运行, 工作正常。3. 内嵌资源方式上述方式虽然实现了效果但是JS文件还是放在了wwwroot目录下只是工具帮你进行的复制操作。如果你就是不希望wwwroot下有多余文件可以尝试下面的方式。修改JS文件属性生成操作设置为嵌入的资源。修改FetchData.razor代码如下, 将资源文件作为JS代码加载protected override async Task OnAfterRenderAsync(bool firstRender) {if (firstRender){string scriptContent;using (var stream  this.GetType().Assembly.GetManifestResourceStream(this.GetType().Assembly.GetName().Name  .Pages.FetchData.razor.js)){using (var sr  new System.IO.StreamReader(stream)){scriptContent  await sr.ReadToEndAsync();}}module  await JS.InvokeAsyncIJSObjectReference(import, data:text/javascript;base64,  Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(scriptContent)));} } 再次运行, 同样工作正常而且wwwroot下没有增加文件。结论今天我们介绍了按需加载JavaScript脚本的标准方式及2种变种你可以按照你的喜好选择使用。如果你觉得这篇文章对你有所启发请关注我的个人公众号”My IO“记住我
http://www.pierceye.com/news/489563/

相关文章:

  • 大连最好的做网站的公司崇义做网站
  • 圣弘建设股份有限公司网站上海图文设计有限公司
  • gta5资产网站正在建设零基础自学设计
  • 深圳专业制作网站公司吗网站信息化建设报送
  • 苏州网站建设运营推广网站一年多少钱?
  • WordPress国外主机湖北短视频seo营销
  • 南通网站建设电话设计一个网站要多少钱
  • 好的模板网站建设网站规划 时间
  • 昆明seocn整站优化网站建设如何报价
  • 网页设计模板免费网站WordPress生成网站地图
  • 做网站 侵权做外贸怎么看外国网站
  • 网站建设知识点的总结普通网站建设是什么
  • 杭州网站建设费用多少合肥高新城建设计院网站
  • 炫酷特效网站asa8.4 做网站映射
  • 郑州租赁房网站建设九江快乐城
  • 手机网站建站教育模板微信网站 教程
  • 网站的结构犀牛云做网站多少钱
  • 网站服务器用什么配置公司网站建设的视频教程
  • idea做网站网络营销与网站推广的区别
  • 建一家网站多少钱微信小程序在哪里查找
  • 东阳网站推广英文网站源码下载
  • 介绍湛江网站高端网站建设网站定制
  • 网站的特征包括哪些方面wordpress缓存插件 w3
  • 东莞专业网站营销wordpress新建页面模板
  • 做外贸学习网站智慧团建网页电脑版登录网站
  • 如何免费做一个网站攻略常州网站推广软件
  • 手机网站建站 服务器网站名称收录
  • 网站根 html网站建设 永灿 竞争
  • 网站建设费合同天津网站建设公司
  • 自己怎么做优惠卷网站购物网站建设需求模板下载