slot 又名插槽, 是 Vue 的内容分发机制, 组件内部的模板引擎使用 slot 元素作为承载分发内容的出口。插槽 slot 是子组件的一个模板标签元素, 而这一个标签元素是否显示, 以及怎么显示是由父组件决定的。slot 又分三类, 默认插槽, 具名插槽和作用域插槽。
slot 没有指定 name 属性值的时候一个默认显示插槽, 一个组件内只有有一个匿名插槽name 属性的 slot, 一个组件可以出现多个具名插槽实现原理: 当子组件 vm 实例化时, 获取到父组件传入的 slot 标签的内容, 存放在 vm.$slot 中, 默认插槽为 vm.$slot.default, 具名插槽为 vm.$slot.xxx, xxx 为插槽名, 当组件执行渲染函数时候, 遇到 slot 标签, 使用 $slot 中的内容进行替换, 此时可以为插槽传递数据, 若存在数据, 则可称该插槽为作用域插槽。