AngularrouterLinkActive只在单击屏幕的其他位置后更新
创始人
2024-10-29 06:00:51
0

问题的原因在于routerLinkActive指令仅在路由链接激活时更新,因此需要单击其他位置以触发更新。为避免这种情况,添加一个主题观察者,以便在路由更改时手动调用此指令的更新方法。

在组件的ts文件中添加以下代码:

import { Component, OnInit } from '@angular/core'; import { NavigationEnd, Router } from '@angular/router';

@Component({ selector: 'app-component', templateUrl: './component.html', styleUrls: ['./component.scss'] }) export class Component implements OnInit {

constructor(private router: Router) { }

ngOnInit() { this.router.events.subscribe((event) => { if (event instanceof NavigationEnd) { // 使用 setTimeout 异步执行以避免出现 ExpressionChangedAfterItHasBeenCheckedError。 setTimeout(() => { this.router.routeReuseStrategy.shouldReuseRoute = () => false; }); } }); } }

此示例中,我们订阅了路由器事件,使用 NavigationEnd 事件来检测路由更改。当路由更改时,我们异步地重写路由复用策略,强制更新组件并触发routerLinkActive的更新。

在组件HTML模板中使用routerLinkActive,如下所示:

在每个需要使用routerLinkActive的链接上添加routerLinkActive属性及其相应的激活CSS类名。当路由为活动状态时,会自动添加该CSS类。

通过将上述代码添加到组件中,您现在应该能够解决Angular routerLinkActive仅在单击屏幕其他位置后更新的问题。

相关内容

热门资讯

有挂透视!哈糖大菠萝软件下载!... 有挂透视!哈糖大菠萝软件下载!果然有辅助脚本(真实有挂)-哔哩哔哩1、许多玩家不知道哈糖大菠萝软件下...
曝光透视!德普软件,微乐安徽小... 曝光透视!德普软件,微乐安徽小程序辅助,窍门教程(有挂攻略)-哔哩哔哩德普软件脚本下载中分为三种模型...
揭幕透视!红龙poker作必弊... 揭幕透视!红龙poker作必弊指令!真是一直总是有辅助脚本(证实有挂)-哔哩哔哩1、在红龙poker...
教你透视!哈糖大菠萝挂法,微信... 教你透视!哈糖大菠萝挂法,微信微乐游戏辅助器,课程教程(有挂规律)-哔哩哔哩1、下载好哈糖大菠萝挂法...
开挂透视!pokemmo免费脚... 开挂透视!pokemmo免费脚本!其实真的是有辅助技巧(有挂详细)-哔哩哔哩1、进入到pokemmo...
揭幕透视!we-poker软件... 揭幕透视!we-poker软件,微信小程序微乐怎么才能发好牌,妙招教程(的确有挂)-哔哩哔哩运we-...
必备透视!pokermaste... 必备透视!pokermaster破解版!总是一直总是有辅助软件(有挂技术)-哔哩哔哩运pokerma...
曝光透视!菠萝辅助器免费版的功... 曝光透视!菠萝辅助器免费版的功能介绍,微乐小程序黑科技辅助工具推荐,演示教程(有挂分析)-哔哩哔哩菠...
解迷透视!哈糖大菠萝可以开挂吗... 您好,哈糖大菠萝可以开挂吗这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很...
专业透视!wepoker新号好... 专业透视!wepoker新号好一点吗,微乐小程序辅助开发透视,练习教程(了解有挂)-哔哩哔哩在进入w...