vue pc官网顶部导航栏组件

官网顶部导航分为一级导航和二级导航

导航的样子

文件的层级

router 文件层级

header 组件代码

<h1 class="logo-wrap"><router-link to="/"><img class="logo" :src="$config.company.logo" alt="" /><img class="sub-logo" :src="$config.company.subLogo" alt="" /></router-link></h1><!-- 导航 --><div class="menu-wrap"><ul><!-- 一级 --><liv-for="(item, index) in menus"@click="handle(index)":class="{ active: index == menuIndex }"class="menu-item"v-if="$isNull(item.meta.isMenuHide)"><a href="javascript:;" class="a" @click="menuClick(item.path)">{{item.meta.title}}</a><!-- 二级 --><span class="child-menu-group" v-if="!item.meta.isChildMenuHide"><spanclass="chil-item"v-for="(childItem, childIndex) in item.children"v-if="$isNull(childItem.meta.isMenuHide)"><ahref="javascript:;"class="child-a"@click="menuClick(childItem.path)">{{ childItem.meta.title }}</a></span></span></li></ul></div>

js 、css

 .logo-wrap {float: left;.logo,.sub-logo {}.sub-logo {display: inline-block;margin-left: 5px;padding-left: 5px;border-left: 1px #ffffff40 solid;}}  .menu-wrap {float: right;.menu-item.active {&:before {position: absolute;content: "";bottom: 0;left: 50%;width: 30px;transform: translate3d(-50%, 0, 0);border-bottom: 2px #ffffff solid;}}li {position: relative;display: inline-block;&.active {}.a {display: block;padding: 15px 20px;color: #fff;font-size: 16px;}.child-menu-group {display: none;position: absolute;left: -30px;min-width: 160px;padding: 5px 0;background-color: #ffffff;border-radius: 6px;text-align: center;box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);&:before {position: absolute;content: "";top: -6px;left: 50%;margin-left: -6px;width: 0;height: 0;border-left: 4px solid transparent;border-right: 4px solid transparent;border-bottom: 8px solid #ffffff;}.chil-item {position: relative;display: block;&::after {position: absolute;z-index: 1;top: 0;left: 0;content: "";height: 100%;width: 0;background-image: @background-image;}@keyframes childItem {0% {width: 0;}100% {width: 100%;}}&:hover {&::after {animation: childItem 0.2s ease-out;width: 100%;}a {color: #ffffff;}}}.child-a {display: block;position: relative;z-index: 2;padding: 10px 0;}}&:hover {.child-menu-group {display: block;}}}}
 data() {return {menus: [],menuIndex: 0,isMenuDrawer: false,isMenuFixed: false};},created() {this.menus = this.$router.options.routes[1].children;console.log( this.menus)this.findRouter(this.$route.path);this.resetPath(this.$route.path);},mounted() {this.onScroll();},watch: {//监听路由变化$route(to, from) {this.isMenuFixed = false;this.resetPath(to.path);this.findRouter(to.path);}},methods: {findRouter(path) {var i = path.indexOf("/", 1);var pathTo = "";if(i == -1) {pathTo = path;} else {pathTo = path.substring(0, i);}var list = this.menus;var index = list.findIndex((item, index) => {return pathTo == item.path;});this.menuIndex = index;document.title = this.menus[this.menuIndex].meta.title},// 二级菜单移动端menuSwitch() {this.isMenuDrawer = true;},// 点击菜单menuClick(path) {this.isMenuDrawer = false;this.$router.push(path);},// 导航切换handle(index) {this.isMenuDrawer = false;this.menuIndex = index;document.title = this.menus[this.menuIndex].meta.title},//获取页面路由,导航添加activeresetPath(path) {var _menus = this.menus;for(var i in _menus) {if(_menus[i].path == path) {this.menuIndex = i;// 设置标题document.title = _menus[i].meta.title;}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/207221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

直面双碳目标,优维科技携手奥意建筑打造绿色低碳建筑数智云平台

优维“双碳”战略合作建筑 为落实创新驱动发展战略&#xff0c;增强深圳工程建设领域科技创新能力&#xff0c;促进技术进步、科技成果转化和推广应用&#xff0c;根据《深圳市工程建设领域科技计划项目管理办法》《深圳市住房和建设局关于组织申报2022年深圳市工程建设领域科…

IO流(Java)

IO流 在学习IO流之前&#xff0c;我们首先了解一下File File File即文件或文件夹路径对象&#xff0c;其示例类可以是存在路径也可以是未创造路径 File有什么用 用于创建或操作文件或文件夹 File常用API API部分看得懂会查会用即可 IO流 IO(Input 读数据 Output写数据…

Qt/QML编程学习之心得:工程中的文件(十二)

Qt生成了工程之后,尤其在QtCreator产生对应的project项目之后,就如同VisualStudio一样,会产生相关的工程文件,那么这些工程文件都是做什么的呢?这里介绍一下。比如产生了一个Qt Widget application,当然如果Qt Quick Application工程会有所不同。 一、.pro和.pro.user …

企业计算机服务器中了360勒索病毒如何解密,勒索病毒解密数据恢复

网络技术的不断应用与发展&#xff0c;为企业的生产运营提供了极大便利&#xff0c;但随之而来的网络安全威胁也不断增加。近期&#xff0c;云天数据恢复中心接到很多企业的求助&#xff0c;企业的计算机服务器遭到了360后缀勒索病毒攻击&#xff0c;导致企业的所有数据被加密&…

『PyTorch学习笔记』如何快速下载huggingface模型/数据—全方法总结

如何快速下载huggingface模型/数据—全方法总结 文章目录 一. 如何快速下载huggingface大模型1.1. IDM(Windows)下载安装连接1.2. 推荐 huggingface 镜像站1.3. 管理huggingface_hub cache-system(缓存系统) 二. 参考文献 一. 如何快速下载huggingface大模型 推荐 huggingface…

希亦洗地机跟追觅洗地机入手哪个更好?追觅跟希亦洗地机深度评估

近年来&#xff0c;洗地机可以同时处理干湿垃圾&#xff0c;同时降低用户在清洁过程中的劳动强度&#xff0c;成为了家居清洁的新宠&#xff0c;但是目前市场上的品牌和型号层出不穷。用户往往很难挑选&#xff0c;本文挑选了两款目前口碑最好的两款洗地机给大家做一个全面的评…

外贸行业的CRM系统和其它CRM有什么区别?

外贸行业对客户管理的追求日益提高&#xff0c;为了应对客户需求的变化和多元性&#xff0c;外贸企业需要借助CRM管理系统实现智能管理。下面&#xff0c;我们将详细探讨外贸CRM的概念、特点和具体应用。 什么是外贸CRM&#xff1f; 外贸CRM是指针对外贸行业的客户关系管理系…

Nginx+Promtail+Loki+Grafana 升级ELK强大工具

最近客户有个新需求,就是想查看网站的访问情况,由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的页面,咱也做不到 成熟的日志解决方案,那就是ELK,还有现在比较火的Loki,(当然还有很多其…

两电脑共享鼠标键盘方案

一开始使用的是shareMouse 但是需要注册还有很多不稳定问题 后来想买个双拷线&#xff0c;又太贵&#xff0c;感觉不值的。 再后来&#xff0c;发现微软有自己的系统上的 共享方案 &#xff0c;叫做 Mouse without Borders ,而且是免费的&#xff0c;只能在window电脑上使用…

Linus:我休假的时候也会带着电脑,否则会感觉很无聊

目录 Linux 内核最新版本动态 关于成为内核维护者 代码好写&#xff0c;人际关系难处理 内核维护者老龄化 内核中 Rust 的使用 关于 AI 的看法 参考 12.5-12.6 日&#xff0c;Linux 基金会组织的开源峰会&#xff08;OSS&#xff0c;Open Source Summit&#xff09;在日…

报名学历的同学,月底前记得申请抵扣个税!

2024年度专项附加扣除开始确认啦&#xff01; 已经报名学历&#xff08;自考、成考、开放大学&#xff09;的同学&#xff0c;记得去申请抵扣个税哦&#xff01; 每个月的应纳税额可以减免400元呢&#xff0c;学历提升在读这几年算下来&#xff0c;可以省不少钱。 注意&#x…

轮播插件Slick.js使用方法详解

相比于Swiper而选择使用Slick.js的原因主要是因为其兼容不错并且在手机端的滑动效果更顺畅 参数&#xff1a; 1.基本使用&#xff1a;一般使用只需前十个属性 $(.box ul).slick({autoplay: true, //是否自动播放pauseOnHover: false, //鼠标悬停暂停自动播放speed: 1500, //…

C#网络编程(System.Net命名空间)

目录 一、System.Net命名空间 1.Dns类 &#xff08;1&#xff09;示例源码 &#xff08;2&#xff09;生成效果 2.IPAddress类 &#xff08;1&#xff09;示例源码 &#xff08;2&#xff09;生成效果 3.IPEndPoint类 &#xff08;1&#xff09; 示例源码 &#xff0…

【动态规划系列】子数组的最大和

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

自动化测试框架需要具备哪些功能?

我们经常听说使用了某某框架&#xff0c;那框架究竟是什么呢&#xff1f;框架有什么优势和功能&#xff1f; 什么是自动化框架 自动化框架是包含了自动化测试的组织、执行、监控以及报告等流程的工具&#xff0c;是由多个工具、库、模块和API等组成的工具集。自动化框架的目标…

线性代数入门与学习笔记

该内容为重拾部分线性代数知识的学习笔记&#xff0c;内容上更多的是为了解决问题而学习的内容&#xff0c;并非系统化的学习。 针对的问题为&#xff1a;Music算法推导求解过程中的矩阵计算知识。 学习的内容包括&#xff1a;矩阵原理、矩阵行列式、矩阵的秩、线性变换矩阵变换…

我的创作纪念日——多线程进阶分享

多线程-进阶 1. 锁的策略 1.1 乐观锁&悲观锁 乐观锁 预计在线程中数据大概率不会被其他线程拿去修改 对于加锁所作的准备较少。只有当修改的操作真正发生了&#xff0c;才会进行加锁操作 所以乐观锁适用于多读少写的情况&#xff0c;可以降低加锁频率&#xff0c;提升效…

继承与派生(2)

1.派生类的权限&#xff1a;派生类的成员函数可以访问基类的public和protected类型的成员&#xff0c;而派生类的对象只能访问public类型的成员 2.创建顺序&#xff08;先创造后析构&#xff09;&#xff1a;基类函数&#xff0c;派生类函数&#xff0c;组合类函数 类的组合按…

每日一练 | 华为认证真题练习Day145

1、一台路由器通过RIP、OSPF和静态路由都学习到了到达同一目的地址的路由。默认情况下&#xff0c;VRP将最终选择通过哪种协议学习到的路由&#xff1f; A. 三种协议学习到的路由都选择 B. 静态路由 C. OSPF D. RIP 2、如果网络管理员没有配置骨干区域&#xff0c;则路由器…

VUE+THREE.JS 点击模型相机缓入查看模型相关信息

点击模型相机缓入查看模型相关信息 1.引入2.初始化CSS3DRenderer3.animate 加入一直执行渲染4.点击事件4.1 初始化renderer时加入监听事件4.2 触发点击事件 5. 关键代码分析5.1 移除模型5.2 创建模型上方的弹框5.3 相机缓入动画5.4 动画执行 1.引入 引入模型所要呈现的3DSprite…