如何在Vue中将v-for索引传递给子级?

时间:2019-05-13 12:45:05

标签: javascript vue.js

我具有以下父级和子级组件。在父级中,我使用obj.Arrayv-for列出多个子级组件。问题在于,stuff1stuff2对于每个孩子都是相同的,但是我需要为每个孩子抓住obj.array的每个元素。正确的方法是什么?谢谢

父母:

<template>
  <div>
    <child v-bind:obj="obj" v-for="(arrVal, index) in obj.array" :id="index" :key="arrVal"/>
  </div>
</template>

<script>
export default {
  data() {
    return {
      obj: { stuff1: "str1", stuff2: "str2", array: ["arrVal1", "arrVal2", "arrVal3"] }
    };
  }
};
</script>

孩子:

<template>
  <div>
    <p>{{obj.stuff1}}</p>
    <p>------</p>
    <p>{{obj.stuff2}}</p>
    <p>------</p>
    <p>{{obj.array[index]}}</p>
  </div>
</template>

    <script>
export default {
  props: { obj: Object }
};
</script>

我想要呈现的内容:

  

str1   ------ str2   ------ arrVal1

     

str1   ------ str2   ------ arrVal2

     

str1   ------ str2   ------ arrVal2

1 个答案:

答案 0 :(得分:1)

尝试一下:

<template>
  <div v-for="val in obj.array">
    <p>{{obj.stuff1}}</p>
    <p>------</p>
    <p>{{obj.stuff2}}</p>
    <p>------</p>
    <p>{{val}}</p>
  </div>
</template>

    <script>
export default {
  props: { obj: Object }
};
</script>

我建议的只是迭代子组件中的数组。