vue2与vue3中具名插槽使用异同

vue2与vue3中具名插槽使用异同

vue2插槽

定义插槽

bash 复制代码
<!-- 子组件 -->
<template>
  <div>
    <slot name="header"></slot>
  </div>
</template>

使用插槽(slot属性)

bash 复制代码
<!-- 父组件 -->
<template>
  <child-component>
    <template slot="header">
      <!-- 这里的内容将填充到 header 具名插槽 -->
    </template>
  </child-component>
</template>

vue3插槽

定义插槽

同vue2定义插槽。

使用插槽(v-slot指令

bash 复制代码
<!-- 父组件 -->
<template>
  <child-component>
    <template v-slot:header="headerProps">
      <!-- 名为header的具名插槽,并且插槽的作用域数据被绑定到headerProps变量上 -->
    </template>
  </child-component>
</template>

v-slot指令的简写形式,如下:

bash 复制代码
<template>
  <child-component>
    <template #header="headerProps">
      <!-- 这与上面的完整形式是等效的,#header是v-slot:header的简写 -->
    </template>
  </child-component>
</template>

异同总结

Vue3中引入了v-slot指令,它允许你更明确地指定插槽的内容。在Vue3中,你不再需要在标签上使用slot属性来指定插槽的名称,而是直接在内部使用v-slot指令,并指定插槽的名称。

当然,在Vue3中,仍然可以使用Vue2的语法,但是推荐使用新的v-slot指令,因为它提供了更清晰的语法和一些新特性,比如作用域插槽的改进。

相关推荐
十有八七7 分钟前
AI Agent的“骨架”之争:四种Harness设计哲学深度解构
前端·人工智能
卡次卡次110 分钟前
14.2:详细补充:子进程会复制什么
前端·python·php
泽_浪里白条12 分钟前
superset 踩过的坑之嵌入式 Dashboard 数据筛选
前端·后端
IOT.FIVE.NO.113 分钟前
Codex Skill 内部结构解析:从 SKILL.md 到 scripts、references、assets
前端·javascript·人工智能·笔记·html
PILIPALAPENG22 分钟前
第4周 Day 2:多步推理 Agent——让 Agent 学会"先想再干"
前端·人工智能·python
LPieces1 小时前
从零实现 AI 流式对话:SSE + Node.js 完整指南
前端
Crystal3281 小时前
【终极指南】前端方面解决 uni-app APP 端 SSE 流式请求被缓冲拦截、无法实时渲染的问题
android·前端·ai编程
BG1 小时前
利用Codex GPT-5.5 基于extended_image新增图片透视变换功能
前端·flutter
daols881 小时前
vue甘特图vxe-gantt如何实现拖拽任务条时如有已关联依赖线,同时更新依赖任务的日期的方式
javascript·vue.js·甘特图