急
1 new URL('/@/assets/images/allLook/run.png', import.meta.url)
2.let imgName='run' //这个实际是从接口返回的图片名称
new URL(/@/assets/images/allLook/${imgName}.png
, import.meta.url)
这两种写法有什么区别,为啥第二种在页面上无法显示图片,有什么动态拼接的方法吗
vite 静态资源路径
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- Kwan的解忧杂货铺@新空间代码工作室 2024-03-14 15:50关注
一朵云有多重 下午好🌅🌅🌅
本答案参考ChatGPT-3.5第一种写法:
new URL('/@/assets/images/allLook/run.png', import.meta.url)
这种写法是直接拼接了图片的完整路径,无动态部分,可以正常显示图片。
第二种写法:
let imgName='run' //这个实际是从接口返回的图片名称 new URL(/@/assets/images/allLook/${imgName}.png, import.meta.url)
这种写法使用了动态的拼接方式,将imgName作为变量进行了拼接。但是在JS中,需要使用模板字符串(template string)的方式来进行动态拼接,即使用反引号
包裹字符串,并使用`${}`来包裹变量。在你提供的代码中缺少了模板字符串的标识
,导致无法正确拼接图片路径,因此无法显示图片。解决方案:
- 使用模板字符串来拼接变量和字符串,即在第二种写法中加入反引号``和
${}
,如下所示:
let imgName='run' //这个实际是从接口返回的图片名称 new URL(`/@/assets/images/allLook/${imgName}.png`, import.meta.url)
这样就可以正确拼接图片路径,并显示图片了。
- 使用字符串拼接的方式,即将变量和字符串通过加号+进行拼接,如下所示:
let imgName='run' //这个实际是从接口返回的图片名称 new URL('/@/assets/images/allLook/' + imgName + '.png', import.meta.url)
这样也可以正确拼接图片路径,并显示图片。
综上所述,要解决第二种写法无法显示图片的问题,需要使用模板字符串或字符串拼接的方式来进行动态拼接。
解决 无用评论 打赏 举报 - 使用模板字符串来拼接变量和字符串,即在第二种写法中加入反引号``和
悬赏问题
- ¥15 vscode编译ros找不到头文件,cmake.list文件出问题,如何解决?(语言-c++|操作系统-linux)
- ¥15 通过AT指令控制esp8266发送信息
- ¥15 有哪些AI工具提供可以通过代码上传EXCEL文件的API接口,并反馈分析结果
- ¥15 二维装箱算法、矩形排列算法(相关搜索:二维装箱)
- ¥20 nrf2401上电之后执行特定任务概率性一直处于最大重发状态
- ¥15 二分图中俩集合中节点数与连边概率的关系
- ¥20 wordpress如何限制ip访问频率
- ¥15 自研小游戏,需要后台服务器存储用户数据关卡配置等数据
- ¥15 请求解答odoo17外发加工某工序的实操方法
- ¥20 IDEA ssm项目 跳转页面报错500