Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >v-slot匿名插槽、具名插槽及作用域插槽

v-slot匿名插槽、具名插槽及作用域插槽

作者头像
青梅煮码
发布于 2023-01-14 08:02:03
发布于 2023-01-14 08:02:03
38700
代码可运行
举报
文章被收录于专栏:青梅煮码青梅煮码
运行总次数:0
代码可运行

匿名插槽

只要是没有具体分配的内容,都会给到匿名插槽或者 同时在子组件中需替换为用于占位,即在modal组件中自定义的内容都会显示在slot占位的位置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 定义组件
    Vue.component('modal', {
      template: `
      <div class="modal">
        <div class="header">
          <slot></slot>    
        </div>
      </div>
   注意<slot></slot> 等于 <slot name="default"></slot>

具名插槽

指带有名字的插槽,如果组件内需要多个插槽,因此配置了名字的插槽,才可以实现定向分发指定插入. 元素有一个特殊的attribute:name。这个attribute可以用来定义额外的插槽: (1)给插槽起名字

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    // 定义组件
    Vue.component('modal', {
      template: `
      <div class="modal">
        <div class="header">
          <slot name="header"></slot>
        </div>
        <div class="main">
            <slot name="main"></slot>
        </div>
        <div class="footer">
            <slot name="default"></slot>
        </div>
      </div>
      `,
    })

(2)在分发内容时,通过template标签,将内容包裹,且里面可以添加任意标签内容,并指定分发的插槽名v-slot:插槽名。

作用域插槽

一个组件中有一个插槽,我们在插槽里写一个div,那么这个div就会被渲染到这个组件里,但是这个div又想调用这个组件里的数据或方法,那怎么办呢,我们可以加一个变量,把它带进插槽中。 简单来说:作用域插槽是一个带绑定数据的插槽。 通俗讲就是父组件需要用到子组件插槽里面数据的时候,通过v-slot:插槽名=’自定义对象名’来接收子组件插槽的数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template v-slot:default="scope">
     <button>{{scope.yes}}</button>
      <button>{{scope.no}}</button>
 </template>

总结

1.具名插槽的内容必须使用模板包裹 2. 等价于 3.vue >=2.6.0版本,使用v-slot替代slot 和 slot-scope 4.v-slot:slotName,slotName不需要加引号”” 5.v-slot:header可以简写成#header , v-slot:default可以简写成#default

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-08-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
VUE作用域插槽详解(<slot>、v-slot、slot-scope)「建议收藏」
插槽就是子组件中的提供给父组件使用的一个占位符,用 表示,父组件可以在这个占位符中填充任何模板代码,如 HTML、组件等,填充的内容会替换子组件的标签。插槽显不显示、怎样显示是由父组件来控制的,而插槽在哪里显示就由子组件来进行控制
全栈程序员站长
2022/07/29
16.9K0
VUE作用域插槽详解(<slot>、v-slot、slot-scope)「建议收藏」
vuejs中的默认插槽-具名插槽-作用域插槽三者的比较
Vue中的插槽是一个非常强大的功能,在复用组件模块的时候,针对相似的结构,拥有不通的内容时,使用插槽就非常方便,一定程度上可以减少在模板中使用大量的逻辑判断,控制显示不通的内容
itclanCoder
2022/05/17
1.4K0
vuejs中的默认插槽-具名插槽-作用域插槽三者的比较
vue插槽slot、slot-scope、v-slot的区别以及嵌套插槽的使用
slot 在英语中作为名词时表示:(可投入东西的)狭长孔,狭槽;(在一系列事件中为某事安排的)时间,空档;(组织、团体等中的)位置,职位。
人人都是码农
2024/01/23
6.5K0
vue插槽slot、slot-scope、v-slot的区别以及嵌套插槽的使用
Vue中的slot、slot-scope和v-slot
插槽,也就是slot,是组件的一块HTML模板,这块模板显示不显示、以及怎样显示由父组件来决定。值得注意的是:内容要写在父组件中,然后分给需要的子组件,当slot多个时,可以通过name来加以区分,这就是所谓的具名插槽。
刘亦枫
2020/03/19
11.2K0
Vue中的slot、slot-scope和v-slot
插槽slot
上面代码中,组件标签内的h1是要插入子组件内部的元素,子组件内使用slot标签接收父组件插入的h1标签。
小小杰啊
2022/12/21
7040
Vue 插槽(slot)详细介绍(对比版本变化,避免踩坑)
Vue中的插槽(slot)在项目中用的也是比较多的,今天就来介绍一下插槽的基本使用以及Vue版本更新之后的插槽用法变化。
全栈程序员站长
2022/11/01
2.7K0
Vue 插槽(slot)详细介绍(对比版本变化,避免踩坑)
Vue 匿名、具名和作用域插槽的使用
Vue 匿名、具名和作用域插槽的使用 ⭐️ 更多前端技术和知识点,搜索订阅号 JS 菌 订阅 Vue 中的插槽在开发组件的过程中其实是非常重要并且好用的。Vue 的插槽也没有说很难使用,这篇文章简明扼要的介绍了三种插槽的用法。匿名插槽 子组件定义 slot 插槽,但并未具名,因此也可以说是默认插槽。只要在父元素中插入的内容,默认加入到这个插槽中去。<template> <div> hello <slot>陌生人</slot> </div> </template> 这里定义了一个默认插槽,只要
JS菌
2019/05/06
9150
Vue 匿名、具名和作用域插槽的使用
vue源码分析-插槽原理
插槽的原理,贯穿了整个组件系统编译到渲染的过程,所以首先需要回顾一下对组件相关编译渲染流程,简单总结一下几点:
yyzzabc123
2022/10/18
7360
Vue 插槽与作用域插槽深度解析:从原理到实践
Vue.js 是一个非常灵活和强大的前端框架,它在开发中给我们带来了很多便利。而 Vue 的 slot 和 slot-scope 功能则是其中非常有特色和强大的部分。这篇文章,我们将详细探讨 Vue 的 slot 和 slot-scope 功能,从它们的基本概念,到实现原理,再到如何在实际开发中应用。这一篇博客将深入挖掘这些知识点,希望能够帮助你更好地理解和掌握 Vue 的 slot 和 slot-scope。
繁依Fanyi
2024/06/28
4950
Vue插槽详解 | 什么是插槽?
什么是插槽?插槽的指令为v-slot,它目前取代了slot和slot-scope,插槽内容,vue实例一套内容分发的api,将slot元素作为承载分发内容的出口。
达达前端
2019/12/16
2.4K0
Vue插槽详解 | 什么是插槽?
面试官:说说你对slot的理解?slot使用场景有哪些?
在HTML中 slot 元素 ,作为 Web Components 技术套件的一部分,是Web组件内的一个占位符
@超人
2021/02/26
1.6K0
面试官:说说你对slot的理解?slot使用场景有哪些?
Vue 组件插槽:父子组件间的内容分发和插槽作用域
在组件入门这篇教程中,学院君已经给大家演示了插槽(slot)功能的基本使用,插槽的主要作用就是在组件中分发父作用域的内容,这个父作用域可以是 Vue 全局容器(可以看作是一个全局的「根组件」),也可以是父组件。
学院君
2023/03/03
2K0
Vue 组件插槽:父子组件间的内容分发和插槽作用域
什么是作用域插槽?插槽与作用域插槽的区别
创建组件虚拟节点时,会将组件的儿子的虚拟节点保存起来。当初始化组件时,通过插槽属性将儿 子进行分类 {a:[vnode],b[vnode]}
全栈程序员站长
2022/09/20
1.3K0
什么是作用域插槽?插槽与作用域插槽的区别
vue3中的插槽
插槽是组件中用来承载内容的一种机制,可以让组件在运行时接受来自其它组件的任意内容。可以将它理解为是在Vue组件中定义的占位符,用于指定在父组件中传递给子组件的内容的位置。它可以根据需要在父组件中动态地插入不同的内容,同时也可以接受子组件中传递下来的数据。 创建插槽 在vue的组件中,使用<slot>标签来定义插槽,我们先在components文件夹新建一个Product.vue组件,在Product组件中用<slot>插槽占位,代码如下
九仞山
2023/10/14
3750
vue3中的插槽
vue2升级vue3:Vue2/3插槽——vue3的jsx组件插槽slot怎么处理
vue 在 2.6 版本中,对插槽使用 v-slot 新语法,取代了旧语法的 slot 和 slot-scope,并且之后的 Vue 3.0 也会使用新语法,这并不是仅写法的不同,还包括了性能的提升
周陆军博客
2022/06/24
2.3K0
Vue3系列教程之插槽slot详解
插槽就是子组件中的提供给父组件使用的一个占位符,用<slot></slot> 表示,父组件可以在这个占位符中填充任何模板代码,如 HTML、组件等,填充的内容会替换子组件的<slot></slot>标签。
微芒不朽
2022/09/09
1.1K0
让你的组件千变万化,Vue slot 剖玄析微
Vue 代码中的 slot 是什么,简单来说就是插槽。<slot> 元素作为组件模板之中的内容分发插槽,传入内容后 <slot> 元素自身将被替换。
政采云前端团队
2019/12/20
8630
让你的组件千变万化,Vue slot 剖玄析微
插槽slot(Vue 2.6之后用法)
在 2.6.0 中,我们为具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。它取代了 slot 和 slot-scope 这两个目前已被废弃但未被移除且仍在文档中的特性。新语法的由来可查阅这份 RFC。
Qwe7
2022/05/28
3770
Vue作用域插槽(vue2.5淘汰语法和vue3.0支持的语法对比)
有了插槽和具名插槽的基础之后,我想如何让大家能够通俗易懂的理解作用域插槽(说实话,刚学这个知识点的时候官方文档我前后看了好多遍都没懂)
砖业洋__
2023/05/06
3810
Vue作用域插槽(vue2.5淘汰语法和vue3.0支持的语法对比)
vue之插槽(slot)
最初在 slot 标签中的任何内容都被视为备用内容。备用内容在子组件的作用域内编译,并且只有在宿主元素为空,且没有要插入的内容时才显示备用内容。
山行AI
2019/08/05
8490
vue之插槽(slot)
推荐阅读
相关推荐
VUE作用域插槽详解(<slot>、v-slot、slot-scope)「建议收藏」
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文