javascript - 来自 json 的 VueJS 图像不会呈现
问题描述
我有一个这样的 JSON 文件:
"images": {
"thumbnail": "./assets/starry-night/thumbnail.jpg",
"hero": {
"small": "./assets/starry-night/hero-small.jpg",
"large": "./assets/starry-night/hero-large.jpg"
},
"gallery": "./assets/starry-night/gallery.jpg"
}
我在 Vue 中的代码是:
<img
v-bind:src="data.images.thumbnail"
alt=""
srcset=""
height="100px"
width="100px"
/>
它“有效”,它会返回一个 IMG。但是图像的路径是 ./assets/starry-night/gallery.jpg 我认为这就是它无法加载的原因。
我必须欺骗路由器还是什么?
./assets/starry-night/gallery.jpg
在 Chrome 中输出。
解决方案
您的数据被视为字符串,因此它正在寻找当然不存在的路径。只需定义一个const publicUrl = 'http://mysite.test/'
地方来完成图像 URL,例如
<img
v-bind:src="publicUrl + data.images.thumbnail"
alt=""
srcset=""
height="100px"
width="100px"
/>
此外,您可以通过执行来引用文件夹
<img src="@/assets/starry-night/thumbnail.jpg"/>
推荐阅读
- go - 从 github 获取 go 包时出错
- performance - 对于 jmeter 中的应用程序的压力测试,我们应该增加每小时的交易量还是增加用户数?
- javascript - 如何让这个函数同步运行?
- python-3.x - python pandas dataframe.plot()
- javascript - 在调用函数之前对 React 数组进行排序
- google-apps-script - 无法使用 clasp push 命令推送文件
- elm - 如何导出控制台日志 win Elm?
- c++ - 类内定义的C++17演绎指南在类内无效,但在类外有用
- excel - 比较表 1 的 B 列与表 2 的 B 列中的值;在工作表 2 中附加不匹配的值
- excel - 尝试更改范围时,RowIndex 的范围不起作用