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

插槽(Slot)的使用方法

插槽是Vue.js中一个强大的功能,允许你在组件中预留位置,让父组件可以插入自定义内容。以下是插槽的主要使用方法:

基本插槽

<!-- 子组件 ChildComponent.vue -->
<template><div><h2>子组件标题</h2><slot></slot>  <!-- 这里是插槽位置 --></div>
</template><!-- 父组件使用 -->
<child-component><p>这是插入到插槽中的内容</p>
</child-component>

具名插槽

<!-- 子组件 Layout.vue -->
<template><div><header><slot name="header"></slot></header><main><slot></slot>  <!-- 默认插槽 --></main><footer><slot name="footer"></slot></footer></div>
</template><!-- 父组件使用 -->
<layout><template v-slot:header><h1>这是页眉</h1></template><p>这是主内容</p><template v-slot:footer><p>这是页脚</p></template>
</layout>

作用域插槽

允许子组件向插槽传递数据:

<!-- 子组件 TodoList.vue -->
<template><ul><li v-for="(item, index) in items" :key="index"><slot :item="item" :index="index"></slot></li></ul>
</template><!-- 父组件使用 -->
<todo-list :items="todos"><template v-slot:default="slotProps"><span>{{ slotProps.index + 1 }}. {{ slotProps.item.text }}</span></template>
</todo-list>

缩写语法

  • v-slot:header 可以缩写为 #header
  • 默认插槽可以缩写为 #default
<layout><template #header><h1>缩写语法</h1></template><p>默认内容</p><template #footer><p>页脚内容</p></template>
</layout>

动态插槽名

<base-layout><template v-slot:[dynamicSlotName]>...</template>
</base-layout>

插槽提供了灵活的组件内容分发机制,是构建可复用组件的重要工具。

http://www.xdnf.cn/news/6618.html

相关文章:

  • Prometheus详解
  • 2024年9月电子学会等级考试五级第三题——整数分解
  • 【歌曲结构】1:基于歌词的歌曲结构分析:高潮、钩子、双副歌
  • 2025采购竞价系统排名:5款降本增效工具实测对比
  • 【实战篇】数字化打印——打印部署管理接口开发
  • 各个历史版本mysql/tomcat/Redis/Jdk/Apache/gitlab下载地址
  • java方法的练习题
  • 更新本地编译的链接库
  • nt!MiAllocateWsle函数分析之设置Wsle[WorkingSetIndex]
  • 【linux】open欧拉安装显卡驱动以及cuda12.8
  • [c++项目]云备份项目测试
  • Go语言八股之Mysql事务
  • 麒麟v10 部署 MySQL 5.6.10 完整步骤
  • MATLAB安装全攻略:常见问题与解决方案
  • Java集合详解:ConcurrentSkipListMap
  • 如何安全擦除 SSD 上的可用空间
  • Python包、模块、类的导入语法与机制解析
  • 解码生命语言:深度学习模型TranslationAI揭示RNA翻译新规则
  • 什么是模态内异质性,什么是模态间异质性?
  • zabbix7.2 zabbix-agent自动注册 被动模式(五)
  • SpringBoot基础(静态资源导入)
  • 观测云产品更新 | 安全监测、事件中心、仪表板AI智能分析等
  • 数据结构与算法--顺序表--单链表
  • python可视化:北方省市GDP与人口变化关系分析4
  • C++二项式定理:原理、实现与应用
  • Rust 数据结构:Vector
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.4.5)
  • FEKO许可证激活错误解决方法
  • 【Ansible基础】Ansible 核心组件深度解析:控制节点、受管节点、Inventory与Playbook
  • 建筑迈向绿色发展之路,楼宇自控成建筑可持续发展关键技术