2 回答
TA贡献1827条经验 获得超4个赞
答案是使用像这样的动态组件
<template>
div
v-for="(m, i) in modules"
:key="i">
<component :is="m.image"></component>
</div>
</template>
import PraiseIcon from "@/assets/svg/navigation-bar/Praise-Icon.svg";
components: {
'Praise-Icon': PraiseIcon
},
data() {
return {
modules: [
{
name: "Praise",
image: "Praise-Icon",
}
] as Array<Record<string, string>>
}
}
TA贡献1810条经验 获得超4个赞
删除你的 svg 加载器
{
test: /\.svg$/,
loader: 'vue-svg-loader'
},
将 svg 添加到您的 url-loader
test: /\.(png|jpg|gif|svg)$/i,
use: [
{
loader: 'url-loader',
options: {
esModule: false,
},
},
],
}
这通常是因为你的 webpack 加载器设置
尝试将esModule选项设置url-loader为false。
这应该可以解决你的问题。
您无需关注以下内容。
还有一个问题,即使你修复了加载器,你仍然无法加载它。
对于图像,您应该使用img标签来加载它。
<img :src=`require(...)`/>
v-html只会加载它的路径字符串。
- 2 回答
- 0 关注
- 203 浏览
添加回答
举报