vue的插槽解析

插槽

**好处:**组件的内容结构可定制 用slot插槽进行占位

语法: 子组件中通过slot进行占位

理解:父组件,在子组件标签嵌套的内容就会被渲染到slot地方

一、默认插槽

javascript 复制代码
//子组件
<slot>slot插槽</slot> //方法一

<slot name="default">slot插槽</slot> //方法二
javascript 复制代码
//父组件
<exercise-first>slot插槽</exercise-first>

二、具名插槽

javascript 复制代码
//子组件
<slot name="header"></slot>

通过指定 name 属性来定义一个具名插槽。在使用组件时,可以将内容分发到对应的具名插槽中。

javascript 复制代码
//父组件  v-slot:main
<exercise-first>
      <template v-slot:main>
        <div>具名组件</div>
      </template>
</exercise-first>

注意:

一、通过v-slot:来查找具名插槽

二、为什么用template, template等于是一个包,不是div盒子,页面是看不到template标签的

三、作用域插槽

作用域插槽的语法 : v-slot:slotName="parameter",其中 slotName 是插槽的名称,parameter 是接收子组件数据的参数。

接收: 的是已 对象的形式

javascript 复制代码
//父组件中定义的
<template v-slot:slotname2="obj">
//子组件中定义的
<slot name="slotname2" :item1='item' value="111" ></slot>

案例:

javascript 复制代码
<!-- 子组件 -->
<template>
  <div>
    <slot name="item" v-for="item in items" :item="item"></slot>
  </div>
</template>

<!-- 父组件 -->
<template>
  <div>
    <template v-slot:item="{ item }">
      <p>{{ item }}</p>
    </template>
  </div>
</template>

四、具名插槽缩写写法

v-slot缩写#

跟 v-on 和 v-bind 一样,v-slot 也有缩写,即把参数之前的所有内容 (v-slot:) 替换为字符 #。例如 v-slot:header 可以被重写为**#header:**

javascript 复制代码
   <template v-slot:dalete></template>
	等同于:
      <template #dalete></template>
javascript 复制代码
<slot name="header"></slot>
<!-- 缩写写法 -->
<slot name="header"/>
相关推荐
蛋蛋的就会顺顺的4 小时前
hot100——二叉树
java·数据结构·算法·leetcode·力扣
打工仔折腾 AI4 小时前
System Prompt 替代 Few-shot:用规则约束大模型输出的省钱实践
java·人工智能·python·spring·langchain·prompt·ai agent 实战
一号弯4 小时前
Hyperv的LINUX虚拟机扩容
linux·运维·服务器
CarIise4 小时前
Java实训阶段查漏补缺复习笔记1
java·开发语言·笔记
一技安身5 小时前
VMware Workstation 25H2 创建兼容ESXi8.0虚拟机教程
服务器
硅基手札5 小时前
【Linux 内核专栏 13】快IO层
linux·服务器·嵌入式硬件
vx-程序开发5 小时前
【计算机毕设】51300童装超市管理系统的设计与实现
java·vue.js·spring boot·源码·课程设计·毕设·大作业
Pointer Pursuit5 小时前
Linux调试器 ——gdb/cgdb
linux·运维·服务器
青柠之夏cc5 小时前
前端拖拽功能原生实现,不引入拖拽库完成业务
开发语言·前端·python
IanSkunk5 小时前
从检查设备到训练方案:眼科与视光中心设备联动的数据通路、字段口径与校验规则
服务器·数据库·负载均衡