我想在另一个名为产品的数组中显示名为“image”的数组内的图像。
所以基本上,如果一个产品包含 3 个图像的数组,我想显示 3 个图像,等等......
这是我的代码
<template>
<div class="details">
<div class="container">
<div class="row">
<div class="col-md-12" v-for="(product,index) in products" :key="index">
<div v-if="proId == product.productId">
<h1>{{product.productTitle}}</h1>
<h2>{{product.productId}}</h2>
<img :src="product.image[0]" class="img-fluid">
</div>
</div>
<div class="col-md-12" v-for="(product,index) in products" :key="index">
<div v-if="proId == product.productId">
<img :src="product.image[1]" class="img-fluid">
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "details",
data() {
return {
proId: this.$route.params.Pid,
title: "details",
products: [
{
productTitle: "ABCN",
image: [
require("../assets/images/autoportrait.jpg"),
require("../assets/images/bagel.jpg")
],
productId: 1
},
{
productTitle: "KARMA",
image: [require("../assets/images/bagel.jpg")],
productId: 2
},
{
productTitle: "Tino",
image: [require("../assets/images/bagel2.jpg")],
productId: 3
},
{
productTitle: "EFG",
image: [require("../assets/images/bagel3.jpg")],
productId: 4
}
]
};
}
};
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
我能够在第一个数组示例中显示信息,例如产品标题、产品 ID,但我发现从第二个数组显示更多图像的唯一方法是在 vue 模板中复制我的代码并更改索引“product.image[0]”、“product.image[1]”。
一定有更好的方法来做到这一点......
非常感谢您的帮助
最佳答案
您可以使用 v-for
指令迭代产品图像,就像迭代产品一样:
<div class="col-md-12" v-for="(product, index) in products" :key="index">
<div v-if="proId == product.productId">
<h1>{{product.productTitle}}</h1>
<h2>{{product.productId}}</h2>
<div v-for="(image, imageIndex) in product.image">
<img :src="image" class="img-fluid" :key="imageIndex" />
</div>
</div>
</div>
关于javascript - 如何在vue js中循环遍历数组中的图像数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54358631/