javascript - 如何在vue js中循环遍历数组中的图像数组

标签 javascript arrays vue.js

我想在另一个名为产品的数组中显示名为“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/

相关文章:

arrays - 在 Powershell 中创建表

vue.js - Vuetify 带文本的垂直分隔线

javascript - 如何在Vue js中的v-for循环中使用v-model

javascript - 为什么在异步函数中捕获后仍然抛出异常?

javascript - 从云代码调用函数

javascript - 如何通过在输入字段中输入值并使用 AngularJS 获取与该值或 id 对应的数据来显示 JSON 文件中存储的数据

vue.js - 是否可以使用 Vue 和/或 Angular 创建原生通用 Windows 应用程序?

javascript - 将 Angular typeahead 对象结果传递给 Controller ​​中的另一个函数

php - 如何使用 CSS 在成对的列分组之间添加空白列?

arrays - 作业中的 Perl 'context'