vue.js 种 slot的理解

本文详细解析了Vue.js中插槽(Slot)的概念及其使用方式,包括单个及多个未命名slot、命名slot以及作用域插槽的运用,阐述了如何通过插槽实现动态交互父子组件间的数据传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Slot的通俗理解
插槽就是动态交互父子组件之间的数据的机器臂
是“占坑”,在组件模板中占好了位置,当使用该组件标签时候,组件标签里面的内容就会自动填坑(替换组件模板中位置),当插槽也就是坑有命名时,组件标签中使用属性slot=”mySlot”的元素就会替换该对应位置内容;

slot 使用 可以传递内容 也可以传递标签
理解:
1.假如子组件没有slot插槽,父组件的内容将被会丢弃

2.假如子组件只有一个插槽,并且这个slot没有属性,那么父组件的所有包含在自定义组件标签里面的内容将插入到slot所在的位置,slot标签消失

3.假如自定义组件标签里面没有内容,就会显示slot里面的备用内容

Slot使用

1、组件中有单个或多个未命名slot标签时,如下:
hello world

这是在slot上添加了样式

这是拥有命名的slot的默认内容

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190616183852951.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTc2NjE5MQ==,size_16,color_FFFFFF,t_70) 会输出:两个红色的hello world,以及一个使用slot的默认内容

注意:在slot标签添加样式无效。拥有命名的插槽不能被不含slot属性的标签内容替换,会显示slot的默认值(具名slot具有对应性);

2、组件中有多个命名的slot插槽时,可以实现父组件对子组件的指定位置显示内容或传参,如下:
在这里插入图片描述
3、作用域插槽!!:
使用时候子组件标签中要有标签,再通过scopeName.childProp就可以调用子组件模板中的childProp绑定的数据,所以作用域插槽是一种子传父传参的方式,解决了普通slot在parent中无法访问child数据的去问题;
在这里插入图片描述

原文:https://blog.youkuaiyun.com/zhouzuoluo/article/details/80536754

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值