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

Blazor项目如何调用js文件

以下是来自千问的回答并加以整理:(说一句,文心3.5所给的回答不完善,根本运行不起来,4.0等有钱了试试)

在Blazor项目中引用JavaScript文件(.js)以实现与JavaScript的互操作,可以通过以下步骤:

1)将JavaScript文件放在项目中的 wwwroot 文件夹下。这是Blazor应用的静态资源根目录。

2)若要全局引用一个JS文件(所有组件都可以访问),可以在 _Host.cshtml(对于服务器端Blazor项目)或 index.html(对于WebAssembly Blazor项目)中通过<script>标签引入:

Html

<script src="~/path/to/your/script.js"></script>

这里,~/path/to/your/script.js 是相对于 wwwroot 文件夹的路径。

3)若需要在特定Blazor组件中局部引用和隔离使用JS文件,可以利用Blazor的JS Interop机制,并结合异步加载JS模块功能(从.NET 5开始支持)。在.razor组件中:

首先,确保你的JS文件是一个ES6模块,或者你将其包装在一个立即执行函数表达式(IIFE)中以便暴露出公共API。

ES6模块示例代码:

export function startTyping1() {alert('123');
}

然后,在Razor组件中使用JSModule特性来加载模块,使用model来调用:

public string TestUserServiceName = "";
private IJSObjectReference module; 
protected override async Task OnAfterRenderAsync(bool firstRender)
{if (firstRender == true){module = await jsRuntime.InvokeAsync<IJSObjectReference>("import", "./app.js");await module.InvokeVoidAsync("startTyping");}}
}

说明:

使用vscode创建的默认的blazor项目,没有启动的html文件。在上面的调用js文件中,使用了第2种方式(特定Blazor组件中局部引用和隔离使用JS文件),没有静态去引用js文件。

结构如下:

注意两个“若”,根据实际项目需求和Blazor版本选择合适的引用方式。

http://www.lryc.cn/news/275117.html

相关文章:

  • Windows11 - Ubuntu 双系统及 ROS、ROS2 安装
  • 深度学习(学习记录)
  • html5实现好看的个人博客模板源码
  • SpringSecurity深度学习
  • odoo17 | 用户界面的基本交互
  • Intel 性能监视器之二
  • Vert.x学习笔记-什么是事件总线
  • STM32学习笔记二十二:WS2812制作像素游戏屏-飞行射击游戏(12)总结
  • astadmin安装querylist插件Puppeteer
  • Python从入门到网络爬虫(MySQL链接)
  • 2020年认证杯SPSSPRO杯数学建模A题(第二阶段)听音辨位全过程文档及程序
  • 深入理解CRON表达式:时间调度的艺术
  • 网络安全—模拟IP代理隐藏身份
  • Resilience4j相关问题及答案(2024)
  • XSKY SDS 产品率先获得 OceanBase V4 新版本认证
  • 系统学习Python——类(class):静态方法(staticmethod)和类方法(classmethod)-[基础知识]
  • kotlin isEmpty/isNotEmpty/isNullOrEmpty和isBlank/isNotBlank/isNullOrBlank
  • Qt/QML编程学习之心得:Linux下USB接口使用(25)
  • 概率论与数理统计 知识点+课后习题
  • Spring Boot实战:深入理解@Service与@Mapper注解
  • 【DevOps-06】Jenkins实现CI/CD操作
  • 华为面经总结
  • 大模型实战营Day1 书生·浦语大模型全链路开源体系
  • Java 集合面试题真实场景还原
  • AutoSAR(基础入门篇)4.9-Autoar_BSW小结
  • Winform中使用Websocket4Net实现Websocket客户端并定时存储接收数据到SQLite中
  • Jenkins修改全局maven配置后不生效解决办法、以及任务读取不同的settings.xml文件配置
  • 【elfboard linux开发板】7.i2C工具应用与aht20温湿度寄存器读取
  • LeetCode-有效的字母异位词(242)
  • 【AIGC-图片生成视频系列-6】SSR-Encoder:用于主题驱动生成的通用编码器