angular+RouterLinkActive实现路由高亮功能详解

这次给大家带来angular+RouterLinkActive实现路由高亮功能详解,angular+RouterLinkActive实现路由高亮的注意事项有哪些,下面就是实战案例,一起来看一下。

路由高亮是什么?有什么好处?

当你在做一个后台管理系统,左边是一排路由导航,点击可以进入不同的页面,那么这个路由所在dom元素会添加上样式表示当前是位置。

但是一刷新你会发现,这个样式没了…

怎么办?

采用路由高亮:当路由被激活时允许你添加一个class在你添加路由的dom元素上,只有url变化时才会移除此样式。

当前路由被激活或者当前路由处于激活状态表示页面的url中路由和当前dom标签里的路由想匹配。

// 用法概览@Directive({  selector: '[routerLinkActive]',  exportAs: 'routerLinkActive'})class RouterLinkActive implements OnChanges, OnDestroy, AfterContentInit { constructor(router: Router, element: ElementRef, renderer: Renderer2, cdr: ChangeDetectorRef) links: QueryList linksWithHrefs: QueryList get isActive: boolean routerLinkActiveOptions: {...} set routerLinkActive: string[] | string ngAfterContentInit(): void ngOnChanges(changes: SimpleChanges): void ngOnDestroy(): void}

登录后复制

示例

.red{  color: red;}

登录后复制

login

登录后复制

当url是user或者/user/login的时候,a标签将会被加上classred。当url变化为别的时,class将会被移除。

如何添加两个class?

login

登录后复制

routerLinkActive的两种写法

loginlogin

登录后复制

也可以给routerLinkActive进行配置参数

传递exact: true表示路由完全匹配时才高亮,如

复制代码 代码如下:

login

你还可以使用isActive检查当前是否路由处于激活状态

 login {{ rla.isActive ? '激活' : '未激活'}}

登录后复制

如果当前路由处于激活状态,则会显示:login 激活

非激活状态

login 未激活

上述的 rla 为routerLinkActive缩写,它可以随便定义。

重点来了: 你可以在使用routerLink元素的父元素上使用RouterLinkActive指令

是不是给每个路由都分别添加样式好费事?给它父元素添加上路由高亮指令即可解决问题!

login reset

登录后复制

只要给a标签的父元素p添加上routerLinkActive和routerLinkActiveOptions, 当路由是/user/login或/user/reset时其所在dom元素分别被添加上red样式。 这里需要注意的是要添加上routerLinkActiveOptions指定完全匹配,不然会出现url为user时两个路由均被匹配上添加了red样式。

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

如何使用Vue实现PopupWindow组件

如何操作jQuery实现电子时钟效果

以上就是angular+RouterLinkActive实现路由高亮功能详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2751701.html

(0)
上一篇 2025年3月8日 05:55:42
下一篇 2025年3月8日 05:55:53

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何使用Vue实现拖拽功能

    这次给大家带来如何使用Vue实现拖拽功能,使用Vue实现拖拽功能的注意事项有哪些,下面就是实战案例,一起来看一下。 效果图: HTML代码: 位置 x:{{val.x}} y:{{val.y}} //注意这里要通过指令绑定函数将当前元素的位…

    2025年3月8日
    200
  • 如何利用Vue组件实现弹窗功能

    这次给大家带来如何利用Vue组件实现弹窗功能,利用Vue组件实现弹窗功能的注意事项有哪些,下面就是实战案例,一起来看一下。 最近在使用element-ui框架,用到了Dialog对话框组件,大致实现的效果,跟我之前自己在移动端项目里面弄的一…

    2025年3月8日
    200
  • react实现点击选中的li高亮的方法

    本篇文章主要介绍了react实现选中的li高亮的示例代码,页面上有很多个li,要实现点击到哪个就哪个高亮。内容挺不错的,现在分享给大家,也给大家做个参考。 虽然只是一个简单的功能,还是记录一下比较好。页面上有很多个li,要实现点击到哪个就哪…

    2025年3月8日
    200
  • JavaScript如何实现“全选”和"全不选"功能?(代码示例)

    本篇文章给大家介绍一下使用javascript实现“全选”和”全不选”功能的方法,文中通过示例代码介绍的非常详细。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 代码如下 nbsp;html>…

    2025年3月7日
    200
  • 使用JavaScript实现自动登录功能

    随着互联网的发展,人们越来越依赖网络,大部分时间都在使用各种各样的网站和应用程序,这也使得我们需要记住很多账号和密码。为了方便用户的使用,很多网站提供了自动登录功能,让用户免除频繁输入账号和密码的烦恼。本文将介绍使用javascript实现…

    编程技术 2025年3月7日
    200
  • 基于JavaScript实现拖拽上传功能

    基于javascript实现拖拽上传功能 引言:如今,随着互联网的发展,文件上传成为了我们在网页应用中经常遇到的需求之一。而对于用户而言,通过拖拽的方式上传文件,不仅操作简便,还可以提高用户体验。在本文中,我们将借助JavaScript来实…

    编程技术 2025年3月7日
    200
  • 基于JavaScript实现懒加载功能

    基于JavaScript实现懒加载功能 懒加载是一种常用的前端优化技术,旨在提高页面的加载速度和用户体验。通过懒加载,可以延迟加载页面中的某些资源(如图片、视频、文本等),直到用户需要或即将浏览到它们的时候才进行加载,从而减少了首次加载时的…

    2025年3月7日
    200
  • 如何使用 JavaScript 实现图片预加载功能?

    如何使用 JavaScript 实现图片预加载功能? 图片预加载是前端开发中常见的一项基本优化技术,它可以提前将网页中需要使用的图片加载到缓存中,当需要显示时从缓存中获取,以此来提升网页的加载速度和用户体验。在本文中,我们将介绍使用 Jav…

    2025年3月7日
    200
  • JavaScript 如何实现自动补全输入框功能?

    JavaScript 如何实现自动补全输入框功能? 在 Web 开发中,自动补全输入框是一个非常常见的功能,它可以提供快速、便捷且准确的输入方式,提升用户体验。本文将介绍如何利用 JavaScript 实现自动补全输入框功能,并提供具体的代…

    2025年3月7日
    200
  • JavaScript 如何实现页面加载进度条功能?

    JavaScript 如何实现页面加载进度条功能? 在现代互联网应用中,页面加载速度是用户体验的关键因素之一。为了向用户展示加载过程,许多网站和应用程序会使用加载进度条。 JavaScript 提供了一种简单而有效的方法来实现页面加载进度条…

    2025年3月7日
    200

发表回复

登录后才能评论