插槽具体化,很多小伙伴经常因为组件之间传值模糊,那是因为插槽和vuex没用好

483 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天,点击查看活动详情

简介

为什么会有这篇文章
1、每天让自己进步一点点
2、掘金更文的养成习惯
3、文章贴近实战,分享给大家,希望共同进步

一、什么是插槽

  1. 组件通过插槽传入自定义结构
  2. 用于实现组件的内容分发, 通过 slot 标签, 可以接收到写在组件标签内的内容
  3. vue提供组件插槽能力, 允许开发者在封装组件时,把不确定的部分定义为插槽

插槽的分类

默认插槽

定义:在template中用slot来占个坑 使用:将组件之间的内容来填坑

具名插槽

定义:在父template标签或者slot标签上加name=“one” 使用:在子组件的template标签上使用#one调用

作用域插槽

定义:在父组件的template标签上v-slot:插槽名=“{scope}” 使用:在子中间的标签上#插槽名=“{要传过去的数据}”

当然,小编想要说的并不是这个最简单的使用方式,先前只是在学习之前回忆最基础的用法,下面来一起看看实战中使用插槽的正确打开方式吧

二、elementUi中的tree型树传参

主要还是框架中的使用,下面结合elementui进行讲解,接下来看下图

image.png

这是一个最经典的组织架构图,当我们点击操作时,怎么才能获取到当前的数据呢?

嘿嘿,这个时候当然是看文档啦

image.png

下面一起来看看代码是怎么实现的吧!

image.png

在父标签上加上slot-scope=“{node,data}”下面就能打印到元素啦

三、elementUi中的表格传参

获取表格中行的属性 image.png

在el-table-column中添加template标签,给标签绑定v-slot属性={row}就能获取到每一行啦

其实道理相同,运用框架也是结合底层原理,慢慢成长,愿大家都能站在巨人的肩膀上越走越远,在前端的道路不断发光

明天主要给大家分析一下vux是如何实现,分析逻辑给大家,也帮助自己记忆