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

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

问题缘由


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


干说不如举个例子:


  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,状态持久化就可以了

目录
相关文章
|
5月前
HTML【详解】超链接 a 标签的四大功能(页面跳转、页内滚动【锚点】、页面刷新、文件下载)
HTML【详解】超链接 a 标签的四大功能(页面跳转、页内滚动【锚点】、页面刷新、文件下载)
270 0
|
前端开发
使用AJAX做一个页面导航模糊匹配下拉框
绪论:使用AJAX页面导航模糊匹配下拉框
170 0
jq移动端点击导航滚动对应位置并跟随联动效果
jq移动端点击导航滚动对应位置并跟随联动效果
504 0
|
JavaScript Android开发 索引
第二十四章:页面导航(十)
属性和方法调用调用PushAsync或PushModalAsync的页面显然可以直接访问它导航到的类,因此它可以设置属性或调用该页面对象中的方法以将信息传递给它。但是,调用PopAsync或PopModalAsync的页面还有一些工作要做,以确定它返回的页面。
555 0
|
Android开发
第二十四章:页面导航(八)
动态页面生成BuildAPage程序是一个多页面应用程序,但BuildAPage项目只包含一个名为BuildAPageHomePage的页面类。 顾名思义,该程序从代码构造一个新页面,然后导航到它。XAML文件允许您在此构造的页面上指定所需内容: <ContentPage xmlns="http://xamarin.
674 0
|
JavaScript Go Android开发
第二十四章:页面导航(七)
操纵导航堆栈有时需要改变正常的面向堆栈的导航流程。例如,假设页面需要来自用户的一些信息,但首先它导航到提供一些指令或免责声明的页面,然后从那里导航到实际获取信息的页面。当用户完成并返回时,您将希望跳过包含说明或免责声明的页面。
663 0
|
JavaScript Android开发
第二十四章:页面导航(六)
制作导航菜单如果您的应用程序包含各种不同但在架构上相同的页面,所有这些页面都可以从主页导航,那么您可能有兴趣构建有时称为导航菜单的页面。 这是一个菜单,其中每个条目都是特定的页面类型。ViewGalleryType程序旨在演示Xamarin.Forms中的所有View类。
713 0
|
JavaScript Android开发
第二十四章:页面导航(五)
导航变化 当您尝试使用ModalEnforcement和MvvmEnforcement程序时,您可能会对模态页面未能保留任何信息感到不安。我们都遇到了导航到用于输入信息的页面的程序和网站,但是当您离开该页面然后再返回时,您输入的所有信息都消失了!这样的页面可能非常烦人。
686 0
|
JavaScript Android开发 Windows
第二十四章:页面导航(四)
执行模式通常,除了应用程序需要从用户获取关键信息的特殊情况外,您的应用程序可能会使用无模式页面。 然后,应用程序可以显示用户在输入此关键信息之前无法解除的模态页面。但是,一个小问题是Android或Windows Phone用户可以通过按设备上的标准后退按钮返回上一页。
641 0

热门文章

最新文章