Vue3作用域插槽怎么使用 v-slot 接收子组件传回的插槽参数

落枫君_7668

落枫君_7668

2026-08-10

721人浏览

原创

作用域插槽核心是子组件向父组件传递渲染上下文而非节点,通过暴露数据,父组件用v-slot="{ prop }"解构接收,参数仅在子组件渲染时有效且非响应式代理。

vue3作用域插槽怎么使用 v-slot 接收子组件传回的插槽参数

作用域插槽的核心是“子传父”——子组件把数据通过插槽暴露给父组件,父组件用 v-slot(或简写 #)接收并使用这些数据。关键不在“传递节点”,而在“传递上下文”,且这个上下文只在渲染时生效。

子组件定义带参数的插槽

在子组件模板中,用 <slot></slot> 的 v-bind 绑定任意响应式数据(对象、数组、函数、ref 等),这些就是将传给父组件的“插槽参数”:

  • <slot :user="currentUser" :index="idx" :isactive="true"></slot>
  • 多个属性可合并为一个对象:<slot v-bind="{ user: currentUser, index: idx }"></slot>
  • 支持解构后的响应式值,比如 toRefs 处理过的属性也能正常传递

父组件用 v-slot 解构接收

父组件必须用 <template v-slot:xxx="slotProps"></template> 或简写 <template></template> 包裹内容,slotProps 是一个包含所有绑定属性的对象:

check-vue-style
check-vue-style

检查 .vue 单文件组件的 CSS 规范问题并给出提示,适用于样式检查、CSS审查和 Vue 页面质量巡检。

下载
  • 默认插槽写法:<template user index isactive>{{ user.name }} — {{ index }}</template>
  • 具名插槽写法:<template user index><usercard :user="user"></usercard></template>
  • 也可不结构直接用:<template>{{ props.user.name }}</template>

注意插槽参数的运行时特性

插槽本质是函数,参数只在子组件渲染时执行并返回 VNode,所以:

  • 父组件里不能在 setup 中提前读取 slotProps,它只存在于模板作用域
  • 若子组件未渲染该插槽(比如条件不满足),对应 slots.xxx 就是 undefined,调用前需判空(如 slots.item?.({ user }))
  • 插槽参数不是响应式代理,但若传的是 ref 或 reactive 对象,其内部变化仍可被父组件模板响应

常见误点提醒

容易混淆的几个事实:

  • 插槽内容本身运行在父组件作用域,所以能访问父组件的 data、ref、computed,但不能直接访问子组件的数据
  • v-slot 只能用在 <template></template> 标签上(或直接写在组件标签内作为隐式默认插槽),不能写在普通 HTML 标签上
  • 不要试图在父组件中修改传入的插槽参数——那是子组件控制的上下文,父组件只负责消费

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关专题

更多
vue2.0和3.0区别
vue2.0和3.0区别

vue2.0和3.0区别:vue2的响应式原理是利⽤“Object.defineProperty()”对数据进⾏劫持结合发布订阅模式的⽅式来实现,vue3中使⽤了es6的proxy API对数据代理,实现对数据的监控。本专题为大家提供vue2.0和3.0区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.17

1614

5

vue3的生命周期有哪些
vue3的生命周期有哪些

vue3的生命周期:1、beforecreate;2、created;3、beforemount;4、mounted;5、beforeupdate;6、updated;7、beforedestroy;8、destroyed;9、activated;10、deactivated等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

11682

5

Vue3组合式API与组件开发实战
Vue3组合式API与组件开发实战

本专题讲解 Vue 3 组合式 API 的核心概念与应用技巧,深入分析响应式系统、生命周期管理、组件设计与复用策略。通过完整项目案例,指导前端开发者实现高性能、结构清晰的 Vue 应用,提升开发效率与代码可维护性。

2026.02.10

276

23

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

60

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

20

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

20

15

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

2026.09.22

20

12

Conan二进制包配置指南
Conan二进制包配置指南

本专题介绍Conan根据操作系统、编译器、架构和构建类型生成二进制包的方法,讲解Profile、Settings、Options及Package ID的作用,帮助管理不同平台和编译环境下的包版本。

2026.09.22

20

13

Conan私有仓库搭建教程
Conan私有仓库搭建教程

本专题系统的讲解Conan私有仓库的搭建流程,涵盖仓库服务部署、存储目录配置、用户认证、权限划分和远程地址添加,并介绍内部C++依赖包的上传、下载及版本维护方法。

2026.09.22

20

19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 16.8万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.4万人学习

Vue.js 微实战--十天技能课堂
Vue.js 微实战--十天技能课堂

共18课时 | 1.7万人学习