VUE小知识~作用域插槽


作用域插槽可以为我们向组件内插入特定的标签,方便修改维护。

组件内需要使用 <slot></slot>进行插槽站位。

组件标签内需要使用<template > </template>作为模板来存放需要放入组件内的标签(主要还是为了好取组件内传来的值)

例如:

在组件内(List.vue文件):

<template>
    <div v-for="item in dates" :key="item">
         <slot name="a" :item="item"></slot>
         <slot name="a" :item="item"></slot>
    </div>
</template>

在组件标签内(App.vue文件内):

<template>
    <div class="app">
        <List :dates="['小智', '小白', '小黑']">
            <template v-slot:a="{ item }">
                <span>{{ item }}</span>
            </template>
        </List>
    </div>
</template>

向组件标签传入一个dates的数组,接收遍历,使用v-slot用于App.vue文件内的List组件标签获取slot标签内绑定的数据,这就是作用域插槽。

具名插槽的意思就是在v-slot使用v-slot:a,在组件内<slot name="a" :item="item"></slot>。

此时v-slot:a的a对应着<slot name="a" :item="item"></slot>的a,侧只会渲染名字为a的插槽。

注意:v-slot接收一个名为obj的对象,我们可以使用结构赋值来获取对应的值。普通插槽在父组件中执行,作用域插槽在子组件中执行


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM