当前位置: 首页 > news >正文

vue3插槽的使用

什么是插槽

Vue 3 插槽(Slots)是一个强大的工具,用于在组件之间传递内容和逻辑。通过使用插槽,我们可以将子组件中的内容插入到父组件中的特定位置。本篇文章将总结 Vue 3 插槽的基本用法、特点以及使用场景。

基本用法

插槽分为两种类型:默认插槽和具名插槽

比如:导航栏每个页面的样式都一样只是内容不一样就可以使用插槽来完成
在这里插入图片描述
创建一个组件,如果不传递值就是默认的导航栏

<template><div class="nav-bar"><div class="left" @click="goback"><slot name="left"><img src="@/assets/images/向左箭头.png"></slot></div><div class="center"><slot>EWShop</slot></div><div class="right"><slot name="right"></slot></div></div>
</template>
<script setup>
import { useRouter } from "vue-router";
const router = useRouter();const goback = () => {window.history.length > 1 ? router.go(-1) : router.push('/');
}</script><style>
.nav-bar{display: flex;background-color: var(--color-tint);color: #FFFFFF;position: fixed;left: 0;right: 0;top: 0;z-index: 9;height: 45px;line-height: 45px;text-align: center;box-shadow: 0 2px 0px rgba(100,100,100,0.1);
}.left, .right{width: 60px;
}
.left img{width: 25px;padding: 10px;align-content: center;
}
.center{flex: 1;
}
</style>

默认插槽 <slot>

具名插槽 <slot name="left">

使用插槽

<template xmlns="http://www.w3.org/1999/html"><div><nav-bar><template #default>图书兄弟</template><template #right>hai</template></nav-bar></div>
</template >
<script setup>
import NavBar from "@/components/common/navbar/NavBar.vue";
</script >

<template #default>图书兄弟</template> default:就是对应的默认插槽

<template #right>我的</template>right:就是对应的具名插槽
在这里插入图片描述

特点

Vue 3 的插槽具有以下特点:
名称化:通过指定插槽的名称,可以明确知道插入内容的位置和作用。
灵活性:通过使用默认插槽和具名插槽,可以灵活地在父组件中插入子组件的内容。
可复用性:一个组件可以包含多个插槽,这些插槽可以在不同的父组件中重复使用。
向下传递:子组件中的内容会向下传递给父组件的插槽,从而实现数据的双向绑定。

http://www.lryc.cn/news/234393.html

相关文章:

  • IPTABLES问题:DNAT下如何解决内网访问内部服务器问题
  • 异步任务线程池——最优雅的方式创建异步任务
  • uniapp 跨页面传值及跨页面方法调用
  • 无线物理层安全大作业
  • 目标检测标注工具AutoDistill
  • 关于SPJ表的数据库作业
  • 【Nacos】配置管理、微服务配置拉取、实现配置热更新、多环境配置
  • HTML5学习系列之网页图像
  • go语言学习之旅之Go语言数据类型
  • Day49 力扣单调栈 : 739. 每日温度 |496.下一个更大元素 I
  • 实用篇-ES-RestClient查询文档
  • 2023年第九届数维杯国际大学生数学建模挑战赛
  • TensorRT基础知识及应用【学习笔记(十)】
  • [内存泄漏][PyTorch](create_graph=True)
  • 【Git学习二】时光回溯:git reset和git checkout命令详解
  • 多维时序 | MATLAB实现PSO-GRU-Attention粒子群优化门控循环单元融合注意力机制的多变量时间序列预测
  • MySQL缓冲池的优化与性能提升
  • 一些RLHF的平替汇总
  • 7.docker部署前端vue项目,实现反向代理配置
  • 字符串函数详解
  • Mybatis学习笔记-映射文件,标签,插件
  • 【C++】模板初阶 【 深入浅出理解 模板 】
  • 无需API开发,伯俊科技实现电商与客服系统的无缝集成
  • Python | 机器学习之逻辑回归
  • 手机,蓝牙开发板,TTL/USB模块,电脑四者之间的通讯
  • Springboot更新用户头像
  • Express.js 与 Nest.js对比
  • 总结 CNN 模型:将焦点转移到基于注意力的架构
  • 2023.11.16 hivesql高阶函数之开窗函数
  • QTableWidget常用信号的功能