【发布时间】:2021-10-10 09:38:58
【问题描述】:
我已经创建了这个 Vue 组件并传递了一个图标路径。
<CTA type="primary" icon="~/assets/phone/img/icons/share.svg" icon-alt="share">
Primary CTA
</CTA>
我的设置方法返回以下内容
setup(props) {
return {
ctaIcon: props.icon,
}
},
所以ctaIcon 等于~/assets/phone/img/icons/share.svg。
当我尝试在模板中使用 ctaIcon 时,这有效
<img :src="require('~/assets/phone/img/icons/share.svg')" />
但这不起作用
<img :src="require(ctaIcon)" />
我收到以下错误Cannot find module '~/assets/phone/img/icons/share.svg'
如何让它正常工作?
【问题讨论】:
-
尝试here 解决方案
-
如前所述,请努力快速搜索。
-
不是真的,因为我想将图像的完整路径作为道具传递,而只是
require整个道具但它不起作用,我最终遵循了 Salivino 的建议,创建了一个计算带有require(~assets/${props.icon})的属性并将phone/img/icons/share.svg作为道具传递
标签: javascript vue.js nuxt.js