kd-cloud-web / Blog

一群人, 关于前端, 做一些有趣的事儿
13 stars 1 forks source link

vue之关于slot #32

Open doreenChenD opened 5 years ago

doreenChenD commented 5 years ago

vue之关于slot(内容分发、插槽)(一)

这篇是个善良的搬运工

目录

具名插槽

特点: 将不同的slot的放到子组件对应的位置

  1. slot (2.6.0起被废弃) image 不带name的slot 将会隐含名字default

  2. v-slot (2.6.0 起使用) v-slot 只能写在template或者component上 image

作用域插槽

特点: 父组件访问子组件的数据

  1. slot-scope (2.6.0起被废弃) 2.5+ 可以用在任何标签 2.5以前只能用在template标签 image

  2. v-slot (2.6.0后使用) image 作用域插槽的内部工作原理是将你的插槽内容包括在一个传入单个参数的函数里,这意味着 v-slot 的值实际上可以是任何能够作为函数定义中的参数的 JavaScript 表达式。 image

3.动态插槽名 image

  1. 缩写与注意 default缩写: image

v-slot缩写,该缩写只在其有参数的时候才可用 (#后面必须有插槽名) image

注意: image

5 .插槽 prop 允许我们将插槽转换为可复用的模板,这些模板可以基于输入的 prop 渲染出不同的内容。 image

6.无渲染组件 image image image 无渲染组件——大漠

实现过程 (以slot 为例)

vue中的slot 源于web components 规范草案,是组件的一块HTML模板。那么slot的实现过程是怎么样的呢?

编译作用域

在Vue中,组件是有一个作用域的:组件模板(