angular - ngClass 没有看到通过服务订阅更新的变量
问题描述
我试图规避routerLinkActiveOptions
exact:true
允许我将一个活动类放在根加一个 id 的链接上:site.com/:id
显然,这不适用于 RouterLinkActive,因为/
它将匹配每条路由。所以我订阅了一项服务来报告当前的 url 和参数,它非常适合字符串插值,但是当我尝试在指令中解释变量时,它会被忽略。只是想知道为什么在变量更改时模板会更新,但依赖于变量的逻辑不会被重新评估。
%div {{url}}
.tab-group.tab-group-rosters
%a.tab.tab-roster(routerLinkActive="active" [routerLinkActiveOptions]="{exact: true}" routerLink="/" [ngClass]="url === 'roster' ? 'active' : ''")
^ 此代码适用于页面加载,但不适用于后续导航。但是,div 的内容按预期更新。
我尝试将 url 设为 Observable 并将其通过管道传递,| async
但它抱怨了。
我还尝试this.ref.detectChanges();
了处理订阅的功能,但没有奏效。
当 url 更改时,有人可以提示我重新运行模板逻辑的公认方式吗?
解决方案
嗯,所以,事实证明同一链接上的 routerLinkActive="active" 搞砸了。也许在 ngClass 设置它之后它正在删除“活动”。看起来如果我决定使用它,我必须将课程设置为完全手动模式。
推荐阅读
- c - 在 C 中对于后缀和前缀运算符,操作数应该是左值,那么在这些运算符的情况下,左值对于指针变量的实际含义是什么?
- mysql - 为什么 HAVING 可以引用 COUNT(column_name) 而不能引用 column_name 本身?
- python - Pandas 横向和纵向求和聚合
- python - 我想再训练 4 个 Word2vec 模型并对生成的嵌入矩阵进行平均
- python - 如何使用文本标签自定义 Seaborn Heatmap 中的颜色条
- javascript - React 导出上下文返回解析错误:未定义导出“SearchContextConsumer”
- python - 将 python 变量传递给 SQL 查询
- linux - 如何从 Azure 管道连接到私有容器实例?
- javascript - 具有 JSON 服务器的不同唯一键
- php - PHP Scraper 从谷歌航班获取航班价格