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

【Vue3】首页主体-面板组件封装

首页主体-面板组件封装

新鲜好物、人气推荐俩个模块的布局结构上非常类似,我们可以抽离出一个通用的面板组件来进行复用

目标:封装一个通用的面板组件

在这里插入图片描述

思路分析

  1. 图中标出的四个部分都是可能会发生变化的,需要我们定义为可配置
  2. 主标题和副标题由于是纯文本,我们定义成props即可
  3. 右侧内容和主体内容由于可能会传入较为复杂的自定义模板,我们定义成slot利用插槽渲染

核心代码

(1)组件编写

Home/components/home-panel.vue
<script lang="ts" setup name="HomePanel"></script>
<template><div class="home-panel"><div class="container"><div class="head"><h3>新鲜好物<small>新鲜出炉 品质靠谱</small></h3><XtxMore to="/"></XtxMore></div>面板的内容</div></div>
</template><style scoped lang="less">
.home-panel {background-color: #fff;.head {padding: 40px 0;display: flex;align-items: flex-end;h3 {flex: 1;font-size: 32px;font-weight: normal;margin-left: 6px;height: 35px;line-height: 35px;small {font-size: 16px;color: #999;margin-left: 20px;}}}
}
</style>

(2)props处理src/views/home/components/home-panel.vue

标题和子标题应该有父组件传递进来,不能写死

<script lang="ts" setup name="HomePanel">
defineProps({title: {type: String,required: true,},subTitle: {type: String,required: true,},
})
</script>

(3)父组件传入title和subTitle

<script lang="ts">
import HomePanel from './components/home-panel.vue'
</script><!-- 新鲜好物 -->
<HomePanel title="新鲜好物" subTitle="新鲜出炉 品质靠谱"></HomePanel>

(4)插槽处理,右侧的查看全部和面板具体的内容不应该写死src/views/home/components/home-panel.vue

<template><div class="home-panel"><div class="container"><div class="head"><h3>{{ title }}<small>{{ subTitle }}</small></h3>
+        <!-- 具名插槽 -->
+        <slot name="right"></slot></div>
+      <!-- 默认的内容插槽 -->
+      <slot></slot></div></div>
</template>

(5)父组件修改

<!-- 新鲜好物 -->
<HomePanel title="新鲜好物" subTitle="新鲜出炉 品质靠谱"><template #right><XtxMore to="/"></XtxMore></template><div>我是内容</div>
</HomePanel>
bTitle="新鲜出炉 品质靠谱"><template #right><XtxMore to="/"></XtxMore></template><div>我是内容</div>
</HomePanel>

相关文章:

【Vue3】首页主体-面板组件封装

首页主体-面板组件封装 新鲜好物、人气推荐俩个模块的布局结构上非常类似&#xff0c;我们可以抽离出一个通用的面板组件来进行复用 目标&#xff1a;封装一个通用的面板组件 思路分析 图中标出的四个部分都是可能会发生变化的&#xff0c;需要我们定义为可配置主标题和副标题…...

部署 K8s 集群

1 .部署k8s的两种方式目前生产部署Kubernetes集群主要有两种方式&#xff1a;kubeadmKubeadm是一个K8s部署工具&#xff0c;提供kubeadm init和kubeadm join&#xff0c;用于快速部署Kubernetes集群。二进制包从github下载发行版的二进制包&#xff0c;手动部署每个组件&#x…...

关于北京君正:带ANC的2K网络摄像头用户案例

如果远程办公是您的未来&#xff0c;或者您经常通过视频通话与远方的朋友和亲戚交谈&#xff0c;那么您可以考虑购买网络摄像头以显著改善您的沟通。Anker PowerConf C200是个不错的选择。 Anker PowerConf C200专为个人工作空间而设计&#xff0c;能够以每秒30帧的速度拍摄2K…...

ccc-Backpropagation-李宏毅(7)

文章目录NotationBackpropagationForward passBackward passSummaryNotation 神经网络求解最优化Loss function时参数非常多&#xff0c;反向传播使用链式求导的方式提升计算梯度向量时的效率&#xff0c;链式法则如下&#xff1a; Backpropagation 损失函数计算为所有样本…...

找出字符串中第一个匹配项的下标-力扣28-java

一、题目描述给你两个字符串 haystack 和 needle &#xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标&#xff08;下标从 0 开始&#xff09;。如果 needle 不是 haystack 的一部分&#xff0c;则返回 -1 。示例 1&#xff1a;输入&#xff1a;hayst…...

SpringBoot 监听Redis key过期回调

SpringBoot 监听Redis key过期回调 场景 Spring boot实现监听Redis key失效事件可应对某些场景例如&#xff1a;处理订单过期自动取消、用户会员到期… 开启Redis键过期回调通知 Redis默认是没有开启键过期监听功能的&#xff0c;需要手动在配置文件中修改。Linux操作系统 修…...

蓝桥杯C/C++VIP试题每日一练之回形取数

💛作者主页:静Yu 🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者 💛社区地址:前端知识交流社区 🧡博主的个人博客:静Yu的个人博客 🧡博主的个人笔记本:前端面试题 个人笔记本只记录前端领域的面试题目,项目总结,面试技…...

四控、三管、一协调

四控指的是进度控制&#xff0c;质量控制&#xff0c;成本控制&#xff0c;变更控制。三管指的是合同管理&#xff0c;安全管理&#xff0c;资料管理。一协调指的是协调甲方&#xff0c;总包及设备材料供应方的关系。信息系统工程监理是指依法设立且具备相应资质的信息系统工程…...

jdk19下载与安装教程(win10)超详细

一、下载安装步骤 1、官网下载还需要注册&#xff0c;可以点【我的网盘】目录下载&#xff0c;目录也有其它低版本的&#xff0c;如果有需要大家根据需要自行选择。 2、下载后直接点击安装程序&#xff0c;点击【运行】。这里我使用的是64位的。 3、点击【下一步】。 4、默认安…...

来来来,手摸手写一个hook

hello&#xff0c;这里是潇晨&#xff0c;今天就带着大家一起来手写一个迷你版的hooks&#xff0c;方便大家理解hook在源码中的运行机制&#xff0c;配有图解&#xff0c;保姆级的教程&#xff0c;只求同学一个小小的&#x1f44d;&#xff0c;&#x1f436;。 第一步&#xf…...

【C++】AVL树

目录 1 简介 2 实现 2.1 框架构建 2.2 插入操作 2.2.1 平衡因子的更新 2.2.2 平衡因子异常时树的调整 3 检验 1 简介 AVL树基于二叉搜索树之上&#xff0c;又对其提出了平衡的要求&#xff0c;即&#xff1a;当向二叉搜索树插入新节点后&#xff0c;保证每个节点的左右…...

Mybatis源码(2) - SqlSessionTemplate的介绍及创建过程

0. 前言1. Spring对SqlSessionTemplate的管理1.1. SqlSessionTemplate的创建&#xff1a;1.2. MapperProxy中sqlSession的来源&#xff1a;2. SqlSessionInterceptor中的getSqlSession0. 前言 众所周知&#x1f60f;:MyBatis通过SqlSessionFactory 创建SqlSession去调用Executo…...

女生做大数据有发展前景吗?

当前大数据发展前景非常不错&#xff0c;且大数据领域对于人才类型的需求比较多元化&#xff0c;女生学习大数据也会有比较多的工作机会。大数据是一个交叉学科涉及到的知识量比较大学习有一定的难度&#xff0c;女生比较适合大数据采集和大数据分析方向的工作岗位。 大数据采…...

Git实用指令记录

config 用例&#xff1a;对git最先要做的一个操作就是配置用户名和邮箱&#xff0c;否则无法commit查看所有可以config的条目&#xff0c;非常之多$ git config --list core.symlinksfalse core.autocrlftrue core.fscachetrue color.interactivetrue color.uiauto help.forma…...

复杂美公链技术重要特色:平行公链架构

复杂美公链技术Chain33从11月开源至今&#xff0c;获得众多合作方的认可&#xff0c;其中首创的平行公链架构被百度、阿里、360等机构认可并跟进研究&#xff0c;这也说明了平行公链或许是区块链普及应用的重要解决方案之一。 平行公链&#xff08;以下简称平行链&#xff09;是…...

Java——进制转换的一些内容

Java——进制转换的一些内容1.16进制字符串String转字节数组byte[]2.16进制字符串String转10进制数字int3.字节数组byte[]转字符串String4.16进制字符串String-->byte[]-->String&#xff08;使用ByteBuffer转换&#xff09;5.字节数组byte[]转字符数组char[]6.字节byte转…...

使用 Nodejs、Express、Postgres、Docker 在 JavaScript 中构建 CRUD Rest API

让我们在 JavaScript 中创建一个 CRUD rest API&#xff0c;使用&#xff1a;节点.js表达续集Postgres码头工人码头工人组成介绍这是我们将要创建的应用程序架构的架构&#xff1a;我们将为基本的 CRUD 操作创建 5 个端点&#xff1a;创造阅读全部读一个更新删除我们将使用以下…...

电子招标采购系统源码之什么是电子招投标系统?

随着互联网时代的到来&#xff0c;各行业都受到不同的影响&#xff0c;其中招投标行业也不例外。为了顺应互联网潮流的发展&#xff0c;电子招投标逐渐取代传统的纸质的招投标方式&#xff0c;给招标方、投标方、招标代理等各方也带来了前所未有的机遇与挑战。那么什么是电子招…...

匹配文件名称模块glob和fnmatch

匹配文件名称模块glob 1.概述 glob模式规则与re模块的正则表达式规则不大相同&#xff0c;glob模块遵循标准的UNIX路径扩展规则。 fnmatch模块用于根据glob模式比较文件名 2.glob表达式匹配文件名 2.1.测试文件 介绍glob配置规则前&#xff0c;先使用下面的代码创建测试文…...

day12_oop

今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、继承 三、重写 四、this和super 五、访问修饰符 零、 复习昨日 局部变量和成员变量什么区别 位置,作用域,初始值,内存位置,生命周期 构造方法…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...