插槽slot:本质就是向组件传递一个DOM。
什么是插槽:
插槽(Slot)是Vue提出来的一个概念,正如名字一样,插槽用于决定将所携带的内容,插入到指定的某个位置,从而使模板分块,具有模块化的特质和更大的重用性。插槽显不显示、怎样显示是由父组件来控制的,而插槽在哪里显示就由子组件来进行控制
来自 <Vue中slot的介绍与使用(通俗版)_Boboy-CSDN博客_slot>
什么是DOM
文档对象模型
作用域插槽:
父组件通过props向子组件传值,作用域插槽差不多是父子组件传值的反用,是父组件接收来自子组件的slot标签上通过v-bind绑定进而传递过来的数据。
使用时候子组件标签中要有标签,再通过scopeName.childProp就可以调用子组件模板中的childProp绑定的数据,所以作用域插槽是一种子传父传参的方式,解决了普通slot在parent中无法访问child数据的去问题;
作用域插槽代表性的用例是列表组件,允许在parent父组件上对列表项进行自定义显示,如下该items的所有列表项都可以通过slot定义后传递给父组件使用,也就是说数据是相同的
slot官方介绍
Props:
- name - string,用于命名插槽。
Usage:
- 元素作为组件模板之中的内容分发插槽。 元素自身将被替换
< slot > 元素
Shadow DOM 使用 元素将不同的 DOM 树组合在一起。Slot 是组件内部的占位符,用户可以使用自己的标记来填充。
通过定义一个或多个 slot,您可将外部标记引入到组件的 shadow DOM 中进行渲染。 这相当于您在说“在此处渲染用户的标记”。
注:Slot 是为网络组件创建“声明性 API”的一种方法。它们混入到用户的 DOM 中,帮助对整个组件进行渲染,从而将不同的 DOM树组合在一起。