vue.js - vue.js jpeg 图像未找到
问题描述
我目前正在使用 vue.js 并遇到了问题。
我的 Boards.vue
<template>
<div class="boards_container">
<div class="board_element" :key="board.id" v-for="board in boards">
<img class="boardBanner" :src="board.image">
<h2>{{ board.name }}</h2>
<p>{{ board.rating }}</p>
<p>$ {{ board.price }}</p>
</div>
</div>
</template>
<script>
export default {
name: 'Boards',
props: {
boards: Array
},
data() {
}
}
</script>
包含 Boards.vue 的 Body.vue:
<template>
<div>
<img :src="surfer_banner" alt="Surfer on the ocean">
<Boards :boards="boards" />
<h2>catch every wave</h2>
<img class="surfboardIcon" src="../assets/QUI_SurfboardIcon.svg" alt="SurfboardIcon">
</div>
</template>
<script>
import Button from './Button'
import Boards from './Boards'
export default {
name: 'Body',
props: {
title: {
type: String,
default: 'Quiver'
}
},
components: {
Button,
Boards,
},
data() {
},
created() {
this.boards = [
{
id: '0',
name: "The Special Recipe Fish",
rating: 4,
price: 995.00,
image: "/assets/board_1_image.jpeg",
},
{
id: '1',
name: "The Big Bueno Fish",
rating: 4,
price: 1050.00,
image: "https://cdn.shopify.com/s/files/1/0203/7640/products/BBF_Fish_web_1200x.jpg?v=1570360599",
}
]
}
}
保持在中间。h2 和 p 标签正在工作。当我在 image: 元素中插入一个在线链接时,图像就会显示出来。
把它们加起来。这些正在工作:
<img class="boardBanner" :src="../assets/board_1_image.jpg">
created() {
this.boards = [
{
id: '1',
name: "The Big Bueno Fish",
rating: 4,
price: 1050.00,
image: "https://cdn.shopify.com/s/files/1/0203/7640/products/BBF_Fish_web_1200x.jpg?v=1570360599",
}
]
}
和
<img class="boardBanner" :src="board.image">
我想这样做,但它不起作用:
this.boards = [
{
id: '0',
name: "The Special Recipe Fish",
rating: 4,
price: 995.00,
image: "../assets/board_1_image.jpeg",
},
]
和
<img class="boardBanner" :src="board.image">
我尝试了这个论坛中已经存在的不同想法,但没有任何帮助。
解决方案
我认为你对一些事情有误解。
- :src 意味着你想传递一个像 :src="mainImagePath" 这样的变量 没有像 :src="./assets/image.jpg" 这样的想法,因为它不是一个变量。
- 我们不使用“。” 和 HTML 属性中的“..”,因为 HTML 使用相对路径。点符号只是为了给 Javascript 正确的路径,而不是 HTML
- 就像有人建议
:src="require('@/assets/board_1_image.jpeg')"
的那样也是错误的,因为我们没有尝试将文件注入 src。我们正在做的是为 HTML 提供可以找到文件的正确路径。 - 您需要提供像 src="/assets/iamge.jpg" 这样的相对路径。如果它没有像您提到的那样工作,请检查图像是否存在,名称和扩展名是否正确。
// option 1: hard coded image path:
src="/assets/image.jpg"
// Option 2: source from variable
:src="image.path"
image: {
path: "/assets/image.jpg"
}
如果仍然有问题,请打开 DevTool 并查看 HTML 中的图像路径是什么。
推荐阅读
- javascript - javascript - 将对象数组中的 2 个对象合并为一个对象
- python - 裁剪图像后转换 Numpy 数组
- angular - Atlassian Bamboo 无法发布工件
- reactjs - 使用状态钩子触发一系列事件
- javascript - Electron - ipcRenderer 在 main.js 中不起作用
- mysql - 如何将 mysql 距离查询转换为 Laravel Eloquent 查询?- (带有纬度、经度和半径参数)
- python - 为什么python认为“自我”是一个论点
- scala - 是否可以在 Scala 3 中使用类似于打字稿映射类型的另一种类型来包装成员类型?
- python - 使用 QuantLib Python 使用 Heston 模型对亚洲期权定价
- java - 尝试更新多张图片。如果我更新单个图像但更新两个或多个图像,则下面的代码有效