所以我希望在特定页面被击中时,我的Header上的锚元素会消失。当该页面被击中时,如何在* ngIf中捕获url。
我有一个标题,所有页面都保持相同。当我在/ home路由时,只需要隐藏一个锚元素。如何在* ngIf中找到这个“/ home”?
* ngIf =“href ='/ home'”无效。任何替代方案?
答案 0 :(得分:10)
//mycomponent.component.ts
class MyComponent {
constructor(private router: Router){
}
}
//mycomponent.component.html
<div *ngIf="router.url === '/some/route'">
</div>
答案 1 :(得分:1)
我之所以来到此页面是因为我遇到的问题与Ravy相同,但是建议的解决方案对我来说并不可行。
如果您将路径与查询参数一起使用,则可接受的答案不起作用。
这是我使用的解决方案:
//mycomponent.component.ts
class MyComponent {
constructor(public router: Router){
}
}
//mycomponent.component.html
<div *ngIf="router.isActive('/some/route')">
</div>
答案 2 :(得分:0)
您可以使用location.path()
方法检查当前路径路径,并确定是否已激活/home
路由。
*ngIf="isHomeRouteActivated()"
<强>代码强>
//Inject `Location` dependency before using it
isHomeRouteActivated(): boolean{
//Find more better way to do it.
return this.location.path().indexOf('/home') > -1;
}
答案 3 :(得分:0)
// mycomponent.component.ts
class MyComponent {
constructor(public router: Router){
}
}
// mycomponent.component.html
<div *ngIf="this.router.url === '/some/route'">
</div>