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

相关推荐
明月_清风23 分钟前
打字机效果优化:用 requestAnimationFrame 缓冲高频文字更新
前端·javascript
明月_清风24 分钟前
Markdown 预解析:别等全文完了再渲染,如何流式增量渲染代码块和公式?
前端·javascript
掘金安东尼1 小时前
用 CSS 打造完美的饼图
前端·css
掘金安东尼8 小时前
纯 CSS 实现弹性文字效果
前端·css
牛奶9 小时前
Vue 基础理论 & API 使用
前端·vue.js·面试
牛奶9 小时前
Vue 底层原理 & 新特性
前端·vue.js·面试
anOnion9 小时前
构建无障碍组件之Radio group pattern
前端·html·交互设计
pe7er9 小时前
状态提升:前端开发中的状态管理的设计思想
前端·vue.js·react.js
SoaringHeart10 小时前
Flutter调试组件:打印任意组件尺寸位置信息 NRenderBox
前端·flutter
晚风予星11 小时前
Ant Design Token Lens 迎来了全面升级!支持在 .tsx 或 .ts 文件中直接使用 Design Token
前端·react.js·visual studio code