千家信息网

Vue插槽slot怎么使用

发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,这篇文章主要讲解了"Vue插槽slot怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Vue插槽slot怎么使用"吧!一、插槽的含义插槽 slo
千家信息网最后更新 2025年02月16日Vue插槽slot怎么使用

这篇文章主要讲解了"Vue插槽slot怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Vue插槽slot怎么使用"吧!

一、插槽的含义

插槽 slot 是写在子组件的代码中,供父组件使用的占位符。在代码中,大致写为如下的形式,后面会进行详细的写法介绍。

插槽其实就是在写 slot 的地方挖个坑,等着组件的使用者,即父组件,进行填充。子组件中使用插槽 slot 后,父组件可以在这个占位符中填充内容,包括数据、html代码、组件等,也就是说,当子组件的某部分内容是根父组件填充的不同而变化的,那我们就可以使用插槽slot,具体填充什么,由父组件而定。

让父组件向子组件指定位置插入html结构,也是一种组件间通信的方式,适用于父组件 => 子组件

话不多说,下面,我们就来看看 slot 的具体如何使用吧!

二、插槽的三种使用方法

1.默认插槽

有两个组件,App是父组件,Child是子组件

父组件代码如下:

子组件的代码:

启动项目,在浏览器中显示:

这时候,我们已经使用 slot ,在子组件中占了一个坑,但是我们还没有填充内容,接下来填充内容:

可以看到,填充的内容,确实在子组件中显示

假如,我们去掉子组件的插槽,父组件在子组件填充的内容还能看到吗?我们来试一试:

可以看到:浏览器中,只显示两个组件原本的信息,父组件填充的内容是看不到的。

在 slot 中,不仅可以填充文字,也可以填充图片、视频、HTML结构等,如填充图片:

浏览器中显示如下:

2.具名插槽

具名插槽,顾名思义,就是带有名字的插槽,具有 name 属性,一个不带 name 的 会带有默认的名字 default 。

在子组件中,slot 指定 name 属性

在父组件中,需要使用 template ,在 template 模板中,指定 slot 在子组件中的 name 值

浏览器可以正常显示填充的内容:

假如,我们在父组件中,只写了 template ,并没有指定 slot 在子组件中的 name 值,

那么,浏览器中:

也就是说,在引用子组件的代码中, template 中的slot 是根据等号 = 后面的值,来寻找对应的插槽 slot ,从而在对应的位置上,填充相应的内容。当我们使用的插槽数量比较多时,具名插槽就有很大的实用性。

3.作用域插槽

如果数据在子组件,可以在子组件中直接使用数据,但根据数据生成的结构需要组件的使用者来决定,我们就需要用到作用域插槽,同时,我们也可以实现多种结构。

例如:games数据在子组件中,但使用数据所遍历出来的结构由父组件App决定

子组件中,使用 指明使用什么数据,并将数据传给插槽的使用者

在父组件中,使用子组件通过插槽传递过来的数据,渲染结构,有3种形式:

浏览器中:

第1种:是基本用法,使用 scope = " youxi1 ",youxi1 是自定义的变量,来接收子组件传过来的数据,它是一个对象,使用插值语法,把 youxi1 打印出来:

第2种:将 scope 替换为 slot-scope

第3种:使用 es6 解构赋值的方法,直接将对象数据解构为数组,然后进行 v-for 的遍历

上述的小案例,就实现了:使用同样的数据,父组件将其渲染成不同的结构,非常方便实用。

4.版本变化

Vue 2.6.0 起,引入了 v-slot ,上文提到了3类插槽的 slot 和 slot-scope ,可以直接替换为 v-slot ,在vue2版本中,我们仍可以使用 slot 和 slot-scope ,但是在vue3中就只能使用v-slot了。详细内容参见 vue官方文档 的解释。

感谢各位的阅读,以上就是"Vue插槽slot怎么使用"的内容了,经过本文的学习后,相信大家对Vue插槽slot怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

组件 插槽 内容 数据 结构 代码 浏览器 浏览 使用者 就是 这句话 学习 不同 实用 两个 也就是 也就是说 位置 作用 名字 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 兰亭序是哪个服务器的 开源的数据库管理工具 四川学习网络安全费用多少 网络安全审查时间什么时候结束 计算机网络技术有专插本 赛尔号手游为什么没有服务器 重点时期网络安全保障项目 软件开发工作证 福建省电子政务系统网络安全研讨 全息管理服务器功耗多少 软件开发2.0 开发软件什么时候用数据库 乌海信息网络安全培训内容 新建一个orcl数据库 大连网络安全基础 网络安全手抄报用多大纸 cmd数据库导入数据库表 数据库工程师真题解析 如何培养孩子网络安全知识 微信支付后写入数据库 吉林省广电网络技术大学 创建数据库排序规则怎么设置 中信银行软件开发岗t2待遇 青岛微盘软件开发 江苏运营网络技术服务怎么样 网络安全问题排查简报 文件服务器怎么建立共享 软件开发师35岁 数据库删除存储过程 青浦区软件开发信息推荐
0