javascript - 使用资产变量中的图像 src
问题描述
我最近有图像问题。一切都很好,直到您必须在页面上显示图像列表。
问题是,当我们直接给出src
带有硬编码字符串的 for 图像时,它可以使用~/assets/any-image.png
. 但是如果我尝试将 url 移动到任何变量/对象/数组中,我必须指定:src="myVariable"
包含 URL 的那个。
代码例如:
<template>
<div>
Problem with images
<img :src="image.url" alt="">
<img :src='require(image.url)' alt="">
</div>
</template>
<script>
export default {
data () {
return {
image:
{
url: '~/assets/icon.png',
type: 'asset'
}
}
}
}
</script>
在这里,我尝试使用带有~
和的资产,以及@
带有和不带有斜线的资产。当然,图像存在于 assets 文件夹中,但由于src
url 是通过任何变量(不是直接)提供的,因此不会提供 assets url,因此图像 url 看起来host:port/~/assets/...
在服务器上不存在。
在这个例子中,我有一个想法,用包含 url 及其类型(资产/静态)的对象替换图像 url,并检查是否为资产类型,然后使用require(variable)
但遇到的问题是"Cannot find module '~/assets/icon.png'"
有人解决了这个问题吗?
解决方案
require
绑定到资产变量图像时需要使用。例如:
<img :src="url">
url: require('@/assets/icon.png')
如果你的 json 只包含文件名,你可以放在require
模板中:
<img :src="require('@/assets/' + url)">
url: 'icon.png'
推荐阅读
- html - 使用命令行工具修改 etherpad 实例
- sql - 更新不连续/跳过 Id 表中的特定列
- xamarin.forms - 如何在 Xamarin Forms 自定义 PickerRenderer 中隐藏滚动条
- rx-swift - RxSwift subscribeOn 和 observeOn 不在预期的后台线程上
- python - 合并两个没有重复的列表,并计算不同列表中重复索引的平均值
- javascript - 使用正则表达式访问对象的字段
- python - Python Pulp - 独特团队数量限制
- r - 返回 Inf 的几何平均函数
- python - 安装 scikit-learn 时如何修复大的 pip 错误
- angular - 即使日期相等,日期比较也会返回错误