vue3:img使用方法设置动态路径

网上有很多方法,试了一遍,只有下面这种方法是最简单并且合适我的。

我的情况特殊在icon的名字需要通过方法获取,不是简单的设置成element.icon就可以的。

html 复制代码
<img class="selectedItem-icon"
                  :src="require('@/assets/icon/components/' + getIcon(element.cptKey) + '.svg')" />
javascript 复制代码
getIcon(cptKey) {
      let icon = ''
      const index = this.optionsList.findIndex(item => item.cptKey === cptKey)
      if (index > -1) {
        icon = this.optionsList[index].icon ? this.optionsList[index].icon : 'default'
      } else {
        icon = 'default'
      }
      return icon;
    }

特别要注意,在get方法里,不要return路径,然后试图把路径直接传给html里的require,这种方式会报错,必须得在html里拼接路径。

return new URL(`../assets/img/${image}`, import.meta.url).href 的方式我也试过,会报Not allowed to load local resource的错。

参考:

Vue3使用src动态引入本地图片的详细步骤_vue.js_脚本之家

相关推荐
excel4 分钟前
🧩 Vue 3 watch 源码详解(含完整注释)
前端·javascript·vue.js
大前端helloworld6 分钟前
前端梳理体系从常问问题去完善-网络篇
前端·面试
excel12 分钟前
🌿 一文看懂 Vue 3 的 watch 源码:从原理到流程
前端
繁依Fanyi1 小时前
让工具说话:我在 Inspira Board 里用 AI 把“能用、好用、可复用”落成了日常
前端
weixin_456904272 小时前
C# 中的回调函数
java·前端·c#
kura_tsuki2 小时前
[Web网页] LAMP 架构与环境搭建
前端·架构
yinuo2 小时前
UniApp+Vue3多分包引入同一 npm 库被重复打包至 vendor 的问题分析与解决
前端
码界奇点2 小时前
Spring Web MVC构建现代Java Web应用的基石
java·前端·spring·设计规范
苏打水com3 小时前
JavaScript 入门学习指南:从零基础到能写交互效果
javascript
yinuo3 小时前
UniApp + Vue3 使用 marked 报错:SyntaxError /[\p{L}\p{N}]/u 问题分析与解决
前端