具名插槽就像一个占位符,可以在父组件中定义一些内容,然后在子组件中使用这些内容来填充具名插槽的位置。具名插槽可以让我们更好地控制子组件的渲染行为,可以根据具名插槽的名字来选择不同的内容。

举个例子,假设我们有一个<modal>组件,它有一个header插槽和一个body插槽。在父组件中,我们可以通过<template>标签来定义这两个插槽的内容:

<modal>
  <template v-slot:header>
    <h2>这是模态框的标题</h2>
  </template>
  <template v-slot:body>
    <p>这是模态框的内容</p>
  </template>
</modal>

<modal>组件中,我们可以使用<slot>标签来引用这两个插槽:

<div class="modal-header">
  <slot name="header">默认标题</slot>
</div>
<div class="modal-body">
  <slot name="body">默认内容</slot>
</div>

这样,如果父组件没有定义headerbody插槽的内容,那么就会使用默认的标题和内容。如果父组件定义了这些插槽的内容,那么就会使用父组件的内容来替换默认的内容。


原文地址: https://www.cveoy.top/t/topic/b3xp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录