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

插槽(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>

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

相关文章:

  • GPUGeek云平台实战:DeepSeek-R1-70B大语言模型一站式部署
  • 应用BERT-GCN跨模态情绪分析:贸易缓和与金价波动的AI归因
  • buildroot使用外部编译链编译bluez蓝牙工具
  • MySQL-数据库分布式XA事务
  • 连接指定数据库时提示not currently accepting connections
  • Golang基础知识—cond
  • LM2902:一款高性能四运算放大器的解析
  • 蓝桥杯 2024 C++国 B最小字符串
  • 论文学习_Directed Greybox Fuzzing
  • 《MySQL:MySQL视图特性》
  • rsync入门笔记
  • 第30节:现代CNN架构-轻量级架构EfficientNet
  • 【YOLO 系列】基于YOLO的道路坑洞检测识别系统【python源码+Pyqt5界面+数据集+训练代码】
  • 各个历史版本mysql/tomcat/Redis/Jdk/Apache下载地址
  • 解决facefusion下载抱错的问题
  • ADS1220高精度ADC(TI)——应用 源码
  • 科学养生指南:解锁健康生活的密码
  • 【Python】【面试凉经】Fastapi为什么Fast
  • 第一天的尝试
  • iOS性能调优实践:我常用的工具与流程(含克魔 KeyMob 使用体验)
  • 贞丰古城:新垣旧梦间的商脉与烟火
  • 全国省市县国土空间总体规划已基本批复完成,进入全面实施阶段
  • 贝壳一季度收入增长42%:二手房市场活跃度维持在高位
  • 车建兴被留置:跌落的前常州首富和红星系重整迷路
  • 广西等地旱情缓解,水利部针对甘肃启动干旱防御Ⅳ级响应
  • 第一集|好饭不怕晚,折腰若如初见