Vue中插槽slot的使用方法与应用场景详析

作者:JDragon 时间:2023-07-02 17:04:11 

什么是插槽?

我们知道在Vue中 Child 组件的标签 的中间是不可以包着什么的 。

Vue中插槽slot的使用方法与应用场景详析

可是往往在很多时候我们在使用组件的时候总想在组件间外面自定义一些标签,vue新增了一种插槽机制,叫做作用域插槽。要求的版本是2.1.0+;

插槽,其实就相当于占位符。它在组件中给你的HTML模板占了一个位置,让你来传入一些东西。插槽又分为 匿名插槽、具名插槽、作用域插槽。

在 2.6.0 中,我们为具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。它取代了 slot 和 slot-scope

匿名插槽

匿名插槽,我们也可以叫它单个插槽或者默认插槽。和具名插槽相对,它是不需要设置 name 属性的,它隐藏的name属性为default。

father.vue

Vue中插槽slot的使用方法与应用场景详析

child.vue

Vue中插槽slot的使用方法与应用场景详析

匿名插槽,name的属性对应的是 default 也可以不写就是默认的意思啦;

在使用的时候还有一个问题要注意的 如果是有2个以上的匿名插槽是会child标签里面的内容全部都替换到每个slot;

具名插槽 (vue2.6.0+被废弃的slot='name')

顾名思义就是slot 是带有name的 ,定义:  或者使用简单缩写的定义 #header 使用:要用一个 template标签包裹

father.vue

Vue中插槽slot的使用方法与应用场景详析

child.vue

Vue中插槽slot的使用方法与应用场景详析

这里说一下多个具名插槽的使用 多个具名插槽,插槽的位置不是使用插槽的位置而定的,是在定义的时候的位置来替换的

father.vue

Vue中插槽slot的使用方法与应用场景详析

child.vue

Vue中插槽slot的使用方法与应用场景详析

作用域插槽

就是用来传递数据的插槽

当你想在一个插槽中使用数据时,要注意一个问题作用域的问题,Vue 官方文档中说了父级模板里的所有内容都是在父级作用域中编译的;子模板里的所有内容都是在子作用域中编译的;

为了让 子组件中的数据 在父级的插槽 内容中可用我们可以将 数据 作为 元素的一个特性绑定上去: v-bind:text="text"

注意:

匿名的作用域插槽和具名的作用域插槽 区别在v-slot:defult="接受的名称"(defult(匿名的可以不写,具名的相反要写的是对应的name))

v-solt可以解构接收 解构接收的字段要和传的字段一样才可以 例如 :one 对应 v-slot="{one}"

Vue中插槽slot的使用方法与应用场景详析

效果图

Vue中插槽slot的使用方法与应用场景详析

总结

来源:https://juejin.cn/post/6970621849835307045

标签:vue,slot,插槽
0
投稿

猜你喜欢

  • Python编程实现简易的音乐播放器基本操作

    2022-05-25 08:41:16
  • python正则表达式函数match()和search()的区别

    2021-10-05 10:25:52
  • 网页设计配色色相之黄金分割

    2007-12-27 21:30:00
  • python实战之实现excel读取、统计、写入的示例讲解

    2022-02-12 17:42:15
  • asp如何做一个只能从本站点才能访问的页面?

    2010-07-12 19:00:00
  • tensorflow中Dense函数的具体使用

    2021-04-26 17:01:49
  • MySQL使用IF语句及用case语句对条件并结果进行判断 

    2024-01-14 14:30:27
  • SQL Server数据库管理常用SQL和T-SQL语句

    2009-05-07 14:01:00
  • Python def函数的定义、使用及参数传递实现代码

    2023-02-23 04:54:34
  • python实现中文分词FMM算法实例

    2022-07-31 18:40:55
  • 关于django 数据库迁移(migrate)应该知道的一些事

    2024-01-24 08:42:50
  • Tensorflow加载Vgg预训练模型操作

    2023-10-13 10:56:23
  • 优雅管理Go Project生命周期

    2023-06-16 01:10:42
  • Windows下MySQL详细安装过程及基本使用

    2024-01-27 10:31:16
  • Python基于SMTP发送邮件的方法

    2021-07-17 23:42:46
  • BootStrap3学习笔记(一)之网格系统

    2024-04-29 13:43:48
  • python获取Pandas列名的几种方法

    2022-10-31 09:29:27
  • Python3.2中的字符串函数学习总结

    2021-09-30 04:35:24
  • 解决vscode中golang插件依赖安装失败问题

    2024-04-26 17:23:15
  • Python环境下搭建属于自己的pip源的教程

    2021-12-19 05:57:54
  • asp之家 网络编程 m.aspxhome.com