Vue 2 中的插槽是一种功能,允许在组件模板中定义占位符,并在调用组件时用自定义内容填充。使用插槽的步骤包括:在组件模板中定义插槽占位符。在调用组件时传递内容。通过 $slots 属性访问插槽内容。插槽类型有三种:默认插槽、具名插槽和作用域插槽,它们可以创建可定制化的组件、提高代码的可重用性并增强组件的可扩展性。

Vue 2 中使用插槽
插槽是 Vue.js 中一种强大的功能,它允许我们在组件模板中定义占位符,然后在调用组件时用自定义内容填充这些占位符。这使我们能够创建可重用的、可定制化的组件。
使用插槽的步骤:
-
在组件模板中定义插槽:使用
<slot>元素定义插槽占位符。插槽可以命名,以便在调用组件时使用命名的插槽传递内容。立即学习“前端免费学习笔记(深入)”;
<code class="html"><template> <div> <slot></slot> </div> </template></code> -
在调用组件时传递内容:使用
<slot>元素或v-slot指令将内容传递给插槽。<code class="html"><MyComponent> <h1>标题</h1> <p>段落</p> </MyComponent></code>
或
<code class="html"><MyComponent> <template v-slot> <h1>标题</h1> <p>段落</p> </template> </MyComponent></code> -
在组件实例中访问插槽内容:可以通过
$slots属性访问插槽内容。它返回一个由插槽名称键入的对象,该对象包含一个由插槽内容组成的数组。<code class="javascript">export default { mounted() { const title = this.$slots.title[0].text } }</code>
插槽类型:
Vue 2 提供了三种类型的插槽:
- 默认插槽:不带名称的插槽。如果组件没有定义命名的插槽,默认情况下它将使用默认插槽。
- 具名插槽:带有名称的插槽。它允许我们根据需要使用不同的内容来填充插槽。
- 作用域插槽:允许我们向插槽传递数据,以便在插槽的内容中使用。
插槽的用途:
- 创建可定制化的组件
- 提高代码的可重用性
- 增强组件的可扩展性
- 实现动态内容渲染










