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

相关推荐
GDAL5 分钟前
Better-SQLite3 参数绑定详解
javascript·sqlite3
diang6 分钟前
DeepSeek在前端的使用场景及使用
前端·deepseek
Georgewu9 分钟前
【HarmonyOS Next】鸿蒙应用弹框和提示气泡详解(一)
前端·华为·harmonyos
双口馋猫11 分钟前
cesium+vite demo
前端·vue.js
雾岛听风来12 分钟前
Cython与CUDA之Add
前端·cython
猿榜12 分钟前
js逆向-某博博返回数据解密
javascript·python
IT、木易19 分钟前
大白话解释 JavaScript 中的this关键字,它在不同场景下是如何取值的?
开发语言·javascript·ecmascript
摆烂工程师21 分钟前
什么是MCP?一分钟搞懂!
前端·后端·程序员
A死灵圣法师30 分钟前
同一个接口,掉n次,取消上次请求
前端
前端涂涂34 分钟前
JavaScript面试宝典
前端·javascript