vue插槽讲解

vue

一、插槽使用

因为插槽是在组件的基础上衍生的,因此需要创建一个组件并注册引用。

<slot> 元素可以将插槽内容渲染出来

二、内容覆盖

父级组件中的插槽内容会覆盖子级组件中的插槽内容。

例如:

子组件插槽中写上一句话,父组件插槽内容什么也不写,渲染出来的内容为子组件的插槽内容。

子组件插槽中写上一句话,父组件插槽中也写上一句话,渲染出来的内容为父组件的插槽内容。

三、具名插槽

当有多个插槽使用时,怎么判断使用的是哪个插槽呢,具名插槽应运而生。所谓具名插槽,就是给插槽起个名字。

子组件以  name  参数使用不同的插槽,父组件以  v-slot:别名  定义不同的插槽,不带 name 参数的默认名为“default”。

例如:

注意:

1、v-slot 只能添加在 <template> 上

2、跟 v-on 和 v-bind 一样,v-slot 也有缩写,“v-slot:”可以替换为“#”,例如:v-slot:one  ==》#one

四、作用域插槽

个人理解:子组件插槽数据只能子组件使用,父组件无法使用子组件插槽的内容。

例如:

我们在子组件中添加一个对象数据(user),在子组件插槽中使用动态参数将对象数据绑上去。

父组件插槽名设置一个参数以接收回调数据

五、动态插槽名

使用方式:v-slot:[动态参数] 或 #[动态参数]

例如:子组件定义两个插槽,内容分别为一长串的1、2

父组件中定义一个数据参数,并设置参数值为“one”,添加动态插槽名。

我们改一下数据参数值为“two”

 

以上是 vue插槽讲解 的全部内容, 来源链接: utcz.com/z/375834.html

回到顶部