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_脚本之家

相关推荐
Bigger1 分钟前
第九章:我是如何剖析 Claude Code 的 CLI 里的安全沙盒与指令拦截机制的
前端·claude·源码阅读
得想办法娶到那个女人6 分钟前
Vue3 组合式API 标准写法(通俗易懂,可直接复制)
前端·javascript·vue.js
Reisentyan7 分钟前
[vue3]HTML Learn Data Day 10
javascript·vue.js·html
_深海凉_7 分钟前
LeetCode热题100-最长公共子序列
java·开发语言·前端
蓝天客9 分钟前
接入支付 FM 接口实战经验
前端
liyi_hz200811 分钟前
O2OA V10 升级说明(二)内容管理:更安全、更融合、更适配移动办公
java·前端·数据库
a11177612 分钟前
PascalEditor( 3D建筑编辑器 开源)
前端·开源·html
爱上好庆祝12 分钟前
移动端适配
前端·css·学习·html·css3
overmind13 分钟前
oeasy Python 123 元组_运算_封包解包_欢乐颂_大写数字
java·前端·python
暮雪倾风1 小时前
【JS-Node】node.js环境安装及使用
开发语言·javascript·node.js