父组件:
<template>
<div>
<!-- 父级作用域中,可以使用 slot 定义我们提供的插槽 prop 的名字 -->
<todo-list>
<template v-slot:default="slotProps">
<span class="green">{{ slotProps.item }}--</span>
<span class="red">{{ slotProps.index }}</span>
</template>
</todo-list>
</div>
</template>
<script>
import todoList from '../components/todo-list.vue'
export default {
components: {
todoList
},
data () {
return {
}
}
}
</script>
<style lang="scss">
.green {
color: green;
}
.red {
color: red;
}
</style>
子组件:
<template>
<div>
<ul>
<li v-for="(item, index) in items" :key="index">
<!-- item index 插槽 prop -->
<slot :item="item" :index="index"></slot>
</li>
</ul>
</div>
</template>
<script>
export default {
data () {
return {
items: ['cat', 'dog', 'rabbit']
}
},
methods: {
}
}
</script>
<style>
</style>
本文介绍了如何在Vue应用中,父组件通过`<template v-slot>`为子组件提供插槽,并利用`slotProps`传递数据。通过实例展示了如何在`todo-list`组件中显示动态数据,包括列表项和索引。
481

被折叠的 条评论
为什么被折叠?



