Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.5k views
in Technique[技术] by (71.8m points)

vue怎么向slot中的组件传参?

组件A

<div>
    <template v-for="(row, index) in rows">
      <tr>
        <slot :row="row" :index="index">
        </slot>
      </tr>
    </template>
</div>

组件B

<div>
<slot></slot>
</div>

组件C

<A :rows='list'>
    <B>test</B>
</A>

组件A该如何向组件B传参呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

组件A:

<template>
  <div>
    <template v-for="(row, index) in rows">
      <slot :row="row" :index="index" />
    </template>
  </div>
</template>
<script>
export default {
  data() {
    return {
      rows: ["a", "b", "c"]
    };
  }
};
</script>

组件B:

<template>
  <div>
    {{ row }}
    {{ index }}
  </div>
</template>
<script>
export default {
  props: ["row", "index"]
};
</script>

组件C:

<A>
  <template v-slot:default="{ row, index }">
    <B :row="row" :index="index"></B>
  </template>
</A>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...