当前位置: 首页 > news >正文

Vue.js前端框架教程9:Vue插槽slot用法

文章目录

        • 插槽(Slots)
          • 无名插槽(默认插槽)
          • 具名插槽
          • `reference` 插槽
          • 使用 `v-slot` 的缩写语法

插槽(Slots)

Vue 中,插槽(Slots)是一种组件内容分发的机制,允许你将内容从父组件传递到子组件的模板中。插槽可以有名字,这样你就可以在子组件中定义多个插槽,并且在父组件中指定哪些内容应该放入哪个插槽。

以下是一些常见的插槽用法,包括 headerfooterreference 插槽:

无名插槽(默认插槽)

无名插槽是最简单的插槽类型,如果没有指定插槽的名字,那么它就是默认插槽。

子组件:

<template><div><slot></slot> <!-- 默认插槽内容将在这里渲染 --></div>
</template>

父组件:

<template><ChildComponent><p>这是一些默认插槽内容。</p></ChildComponent>
</template><script>
import ChildComponent from './ChildComponent.vue';
</script>
具名插槽

具名插槽允许你在一个组件中有多个内容插入点。

子组件:

<template><div><slot name="header"></slot> <!-- header 插槽内容将在这里渲染 --><slot name="default"></slot> <!-- 默认插槽内容将在这里渲染 --><slot name="footer"></slot> <!-- footer 插槽内容将在这里渲染 --></div>
</template>

父组件:

<template><ChildComponent><template v-slot:header><h1>这是头部内容</h1></template><p>这是默认插槽内容。</p><template v-slot:footer><p>这是底部内容</p></template></ChildComponent>
</template><script>
import ChildComponent from './ChildComponent.vue';
</script>
reference 插槽

reference 插槽通常用于定义一个触发元素,例如在弹出组件中。

子组件:

<template><div><slot name="reference"></slot> <!-- 触发元素将在这里渲染 --><div>弹出内容...</div></div>
</template>

父组件:

<template><ChildComponent><template v-slot:reference><button>点击我</button></template></ChildComponent>
</template><script>
import ChildComponent from './ChildComponent.vue';
</script>

在这个例子中,<button> 元素是触发弹出的参考元素,当用户点击按钮时,子组件会显示弹出内容。

使用 v-slot 的缩写语法

Vue 2.6.0+Vue 3 中,你可以使用 v-slot 的缩写语法 #

父组件(使用缩写语法):

<template><ChildComponent><template #header><h1>这是头部内容</h1></template><p>这是默认插槽内容。</p><template #footer><p>这是底部内容</p></template></ChildComponent>
</template>

这种缩写语法使得模板更加简洁易读。记住,无论是使用完整的 v-slot 语法还是缩写语法,插槽的用法都是相同的。

http://www.lryc.cn/news/506455.html

相关文章:

  • 初学stm32 --- NVIC中断
  • Jest 入门指南:从零开始编写 JavaScript 单元测试
  • 【Java Web】Axios实现前后端数据异步交互
  • React 第十七节 useMemo用法详解
  • 鸿蒙项目云捐助第十五讲云数据库的初步使用
  • 如何构建一个可信的联邦RAG系统。
  • 【深度学习之三】FPN与PAN网络详解
  • Qt学习笔记第71到80讲
  • 以管理员身份运行
  • 用 Python 实现井字棋游戏
  • 06 实现自定义AXI DMA驱动
  • SpringBoot集成ENC对配置文件进行加密
  • 初学stm32 ——— 串口通信
  • qwt 多Y轴 项目效果
  • Java中通过ArrayList扩展数组
  • Java:链接redis报错:NoSuchElementException: Unable to validate object
  • datasets库之load_dataset
  • React Router常见面试题目
  • sequelize-cli 封装登录接口
  • 使用 Elasticsearch 查询和数据同步的实现方法
  • QTday1作业设置简易登录界面
  • RC低通滤波器和LR低通滤波器,LC低通滤波器该怎么选择
  • 芯旺微KF32A156芯片ADC配置
  • 【Token】校验、会话技术、登录请求、拦截器【期末实训】实战项目学生和班级管理系统\Day15-后端Web实战(登录认证)\讲义
  • [Unity Shader] 【游戏开发】【图形渲染】Shader数学基础3:矢量与标量的乘法与除法详解
  • javalock(四)AQS派生类之Semphore逐行注释
  • 【C语言】头文件”“和<>的详解
  • Elasticsearch:什么是信息检索?
  • Spark-Streaming容错语义
  • 2024年12月陪玩系统-仿东郊到家约玩系统是一种新兴的线上预约线下社交、陪伴系统分享-优雅草央千澈-附带搭建教程