多路径来源页面导航高亮以及面包屑导航修改

简介: 多路径来源页面导航高亮以及面包屑导航修改

问题缘由


这个问题比较普遍,原因是业务方面对产品进行多维度的划分(或者对产品进行归档、打标签、收藏等等),反应在前端方面就是同一个页面可以有不同的入口(产品目录结构划分)


干说不如举个例子:


  1. “活期储蓄”产品属于负债类理财产品(导航菜单)


  1. 关注“活期储蓄”产品


  1. 在“我的关注”菜单里也存在“活期储蓄”产品


从上面的描述中不难发现,“活期储蓄”产品既可以从“负债类理财产品”菜单进入,也可以从“我的关注”菜单进入。


这就带来了两个问题:


  1. 当进入“活期储蓄”产品详情页面的时候,高亮哪个导航菜单


  1. 当进入“活期储蓄”产品详情页面的时候,面包屑导航怎么显示


从用户角度来说自然是我从哪里点进去的就高亮哪个菜单,面包屑也真实的反应“来源路径”


技术背景


项目采用的技术: Vue,Element UI,vue-router


采用的 element ui 的 导航组件和面包屑组件。


面包屑是借助 vue-router 的 matched 方法 匹配到的路由对象数据注入ui组件实现的


解决问题


  • 如果可以从后端数据上进行处理当然更好,现实是没有如果。


  • 前端处理,分别针对导高亮和面包屑处理


思路分析


  1. 在进入详情页面的行为中增加标记(我使用 sessionStorage 标记,标记信息包括路径path、title,path用于高亮导航,title用于面包屑展示)


  1. 在离开详情页的时候移除标记(通过路由守卫实现,目的是标记不会带来别的副作用)


  1. 根据标记修正菜单高亮、面包屑展示


代码实现


分析完之后发现写代码就跟玩一样,没有什么技术含量,就不贴代码了


有一点需要注意:


在上面思路分析中,当进入详情页,刷新页面,可能会存在时序问题,具体就是面包屑组件里标记信息不能及时同步,这里我采用的是在data上面定义属性signTitle承接sessionStorage,然后在 computed 里面以signTitle为源数据得到最新的标记信息


可以使用全局状态管理方式替代sessionStorage,状态持久化就可以了

目录
相关文章
|
JavaScript 定位技术 API
高德地图自定义定位 按钮
高德地图自定义定位 按钮
787 0
|
5月前
HTML【详解】超链接 a 标签的四大功能(页面跳转、页内滚动【锚点】、页面刷新、文件下载)
HTML【详解】超链接 a 标签的四大功能(页面跳转、页内滚动【锚点】、页面刷新、文件下载)
238 0
|
6月前
|
开发工具 git
大事件项目12--侧边栏导航的组件标签准备
大事件项目12--侧边栏导航的组件标签准备
|
前端开发 定位技术
Echarts地图高级开发:下钻交互菜单操作按钮(1)
Echarts地图高级开发:下钻交互菜单操作按钮(1)
131 0
|
小程序 前端开发 JavaScript
微信小程序分类菜单激活状态跟随列表滚动自动切换
微信小程序分类菜单激活状态跟随列表滚动自动切换
171 0
微信小程序分类菜单激活状态跟随列表滚动自动切换
|
小程序 算法 前端开发
小程序之移花宫-自定义底部标签图标---【浅入深出系列005】
小程序之移花宫-自定义底部标签图标---【浅入深出系列005】
|
JavaScript
fastadmin 自定义 按钮 动态切换数据 TAB切换
fastadmin 自定义 按钮 动态切换数据 TAB切换
293 0
|
前端开发 JavaScript 定位技术
基于OpenLayers实现导航地图上(起/终)点的交互式图标显示
基于OpenLayers实现导航地图上(起/终)点的交互式图标显示
373 0
基于OpenLayers实现导航地图上(起/终)点的交互式图标显示
|
JavaScript
使用jQuery 中的显示与隐藏动画效果实现折叠下拉菜单的收缩和展开,在页面的列表中有若干项,列表的每项中有一个二级列表,二级列表默认为隐藏状态。点击列表的项,切换二级列表的显示或隐藏状态
使用jQuery 中的显示与隐藏动画效果实现折叠下拉菜单的收缩和展开,在页面的列表中有若干项,列表的每项中有一个二级列表,二级列表默认为隐藏状态。点击列表的项,切换二级列表的显示或隐藏状态
437 0
使用jQuery 中的显示与隐藏动画效果实现折叠下拉菜单的收缩和展开,在页面的列表中有若干项,列表的每项中有一个二级列表,二级列表默认为隐藏状态。点击列表的项,切换二级列表的显示或隐藏状态
|
前端开发 容器
Bootstrap教程(20)--选项卡式导航、胶囊式导航、面包屑导航
本文目录 1. 概述 2. 选项卡式导航 2.1 普通选项卡导航 2.2 等宽选项卡导航 3. 胶囊式导航 3.1 普通胶囊式导航 3.2 垂直胶囊式导航 4. 面包屑导航 5. 小结
716 0
Bootstrap教程(20)--选项卡式导航、胶囊式导航、面包屑导航