vue的插槽原来该这样理解

 更新时间:2022年02月13日 17:08:28   作者:卖菜的小白  
这篇文章主要为大家详细介绍了vue的插槽,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

一、认识插槽Slot

前面我们会通过props传递给组件一些数据,让组件来进行展示,但是为了让这个组件具备更强的通用性,我们不能将组件中的内容限制为固定的div、span等等这些元素,比如某种情况下我们使用组件,希望组件显示的是一个按钮,某种情况下我们使用组件希望显示的是一张图片,我们应该让使用者可以决定某一块区域到底存放什么内容和元素。所以有了插槽的存在,我们可以提高组件的复用性,并且也提高组件的灵活性。

二、插槽的基本使用

直接在其中使用<slot></slot>

在这里插入图片描述

在这里插入图片描述

三、插槽的默认内容

在这里插入图片描述

在这里插入图片描述

如果想要设置插槽的默认内容,可以直接在<slot></slot>标签内添加内容。

四、多个插槽实现的效果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如上图所示,如果在组件之间设置多个标签,则会在该组件的每一个插槽中都添加多个标签。

在这里插入图片描述

在这里插入图片描述

如上面代码所示:在组件中的每一个<slot></slot>中使用name属性设置插槽名,并且组件中间使用template标签并且设置v-slot:属性名来进行一一对应。

在这里插入图片描述

五、动态插槽

有时候我们的插槽名称不固定,需要从外界传入,这是就需要使用动态插槽。

在这里插入图片描述

在这里插入图片描述

如上图所示,我们在<slot></slot>中动态绑定属性名,该属性为通过props传入的,我们在外部,通过v-slot:[na]来动态绑定属性。

六、具名插槽的缩写

在这里插入图片描述

如上图所示,具名插槽的v-slot:left可以缩写为#left

七、渲染作用域

父级模板的所有内容在父级模板中编译。
子级模板的所有内容在子集模板中进行编译。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如图所示,父组件中存在title,子组件中也存在title,但是最终显示的是父组件的title属性。

八、作用域插槽的案例

在这里插入图片描述

这里在父组件中的data中设置数组数据,并将其通过props传递给组件内部,子组件拿到数组后,通过for循环遍历数组中的每一项内容,并且将数据通过v-bind绑定到slot标签上,然后在父组件可以通过v-slot:default="data",这个data变量就是数据。

九、独占默认插槽缩写

在这里插入图片描述

在这里插入图片描述

上面是作用域插槽的完整写法

下面可以将其改写为:

在这里插入图片描述

也可以改写为:

在这里插入图片描述

十、默认插槽和具名的混合

作用域插槽案例可以改写为:

在这里插入图片描述

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容! 

相关文章

  • vue 通过base64实现图片下载功能

    vue 通过base64实现图片下载功能

    这篇文章主要介绍了vue 通过base64实现图片下载功能,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
    2020-12-12
  • Vue.js状态管理之Pinia与Vuex详解

    Vue.js状态管理之Pinia与Vuex详解

    Pinia和Vuex一样都是是vue的全局状态管理器,其实Pinia就是Vuex5,只不过为了尊重原作者的贡献就沿用了名字Pinia,下面这篇文章主要给大家介绍了关于Vue.js状态管理之Pinia与Vuex的相关资料,需要的朋友可以参考下
    2023-02-02
  • 基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)

    基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)

    这篇文章主要介绍了Vue多条件筛选功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • vue3中el-table实现表格合计行的示例代码

    vue3中el-table实现表格合计行的示例代码

    这篇文章主要介绍了vue3中el-table实现表格合计行,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • vue项目中onscroll的坑及解决

    vue项目中onscroll的坑及解决

    这篇文章主要介绍了vue项目中onscroll的坑及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue 实现超长文本截取,悬浮框提示

    vue 实现超长文本截取,悬浮框提示

    这篇文章主要介绍了vue 实现超长文本截取,悬浮框提示,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • vue语法之render函数和jsx的基本使用

    vue语法之render函数和jsx的基本使用

    这篇文章主要介绍了vue语法之render函数和jsx的基本使用,在Vue中是支持jsx的,凡是我们是比较少在Vue中使用jsx的,jsx在react中使用的更加广泛,因此在这里我简单介绍一下jsx的基本使用,需要的朋友可以参考下
    2022-08-08
  • 使用table做成树形结构的table

    使用table做成树形结构的table

    这篇文章主要介绍了使用table做成树形结构的table问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • vue使用keep-alive实现组件切换时保存原组件数据方法

    vue使用keep-alive实现组件切换时保存原组件数据方法

    这篇文章主要介绍了vue使用keep-alive实现组件切换时保存原组件数据方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • vue实现对highlight-current-row方式整行选中后修改默认背景颜色

    vue实现对highlight-current-row方式整行选中后修改默认背景颜色

    这篇文章主要介绍了vue实现对highlight-current-row方式整行选中后修改默认背景颜色方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11

最新评论