博文

Vue 3 作用域插槽的数据传递机制与解构语法完全解析

发现1000+提升效率与开发的AI工具和实用程序 : https://tools.cmdragon.cn/ 一、什么是作用域插槽? 在之前的章节中,我们已经了解到插槽内容只能访问父组件的数据作用域。但在某些场景下,我们希望插槽内容能够同时使用父组件和子组件的数据。比如一个列表组件,它负责数据获取和分页逻辑,但我们希望父组件能够控制每个列表项的渲染样式,这时就需要用到作用域插槽。 作用域插槽允许子组件向插槽传递数据,父组件可以在插槽内容中访问这些数据。你可以把它想象成子组件给插槽"注入"了一些数据,父组件在使用插槽时可以直接使用这些"注入"的数据。 二、作用域插槽的工作原理 2.1 子组件向插槽传递数据 <!-- MyComponent.vue --> < template >   < div class = "my-component" >     <!-- 向插槽传递数据,类似对组件传递props -->     < slot :text = "greetingMessage" :count = "1" ></ slot >   </ div > </ template > ​ < script setup > import { ref } from "vue" ; ​ const greetingMessage = ref ( "Hello from child component!" ); </ script > 2.2 父组件接收插槽Props <!-- ParentComponent.vue --> < template >   < MyComponent v-slot = "slotProps" >     <!-- 通过 slotProps 访问子组件传递的数据 -->     < p > {{ slotProps.text }} - Count: {{ slotProps.cou...