Vue中的插槽v-slot

插槽是在创建组件时设定的一块位置,在后面组件导入注册使用时,在组件标签中写传入设定的那块位置的信息。

所以使用插槽,组件必须使用双标签。

插槽可以分为默认插槽(没有设置插槽名)和具名插槽(设置了插槽名),使用具体使用那种插槽呢?

当组件中只有一个插槽时,就可以用默认插槽,因为传入的数据都在其中;但是如果设置了多个插槽就需要使用具名插槽,插入数据时通过插槽名选择插入那个位置。

具名插槽的创建写法:

默认插槽

首先演示一下默认插槽的使用:

在box1.vue中创建组件并设置插槽



 在app.vue中导入并向插槽中插入数据:





页面情况:

Vue中的插槽v-slot_第1张图片

 我们的b标签的就被插入到了插槽中,插槽就是为我们开辟的一块位置,什么都能插入,我们插入一张图片看看

修改app中的代码:

在运行看一下效果:

Vue中的插槽v-slot_第2张图片

 此时图片也应该成功插入。

具名插槽

具名插槽用法上有一点点小的区别,不仅需要在创建插槽时命名,再使用时不能像默认插槽那样直接将我们要插入的东西写在组件标签中。

我们在使用时在组件标签中要添加一个template标签并在在其行内用v-slot:插槽名绑定具体的插槽,如:


    

v-slot指令也有语法糖,换一种写法:#插槽名;

展示一下用法:

创建box2.vue组件并创建两个插槽:


 在app.vue中导入并向插槽中插入数据:

 






页面效果:

Vue中的插槽v-slot_第3张图片

 

你可能感兴趣的:(Vue,vue.js,前端,javascript)