Подтвердить что ты не робот

Как * ngIf на ссылку маршрутизатора?

Мне нужно показать некоторый контент на определенной странице, на других страницах он не должен быть видимым. Как мне это достичь? он не работает

*ngIf="[routerLink]="['/home']"

4b9b3361

Ответ 1

Вы можете ввести маршрутизатор с '@ angular/router' и получить текущий маршрут, в котором вы находитесь.

Например:

// mycomponent.component.ts
class MyComponent {
    constructor(public router: Router) {

    }
}

// mycomponent.component.html
<div *ngIf="router.url === '/some/route'">

</div>

Ответ 2

например, ссылка для входа и скрытая, когда пользователь вошел в систему, вместо этого отобразите ссылку на выход

.ts

isLoggedIn: boolean = false;
// when you login successful, the isLoggedIn set to true

в шаблоне

<a *ngIf="!isLoggedIn" [routerLink]="['/login']">Login</a>
<a *ngIf="isLoggedIn" [routerLink]="['/logout']">Logout</a>

Ответ 3

Я использую другой подход.

шаблон:

<div class="col-12 col-sm-12 col-md-12 col-lg-12">
   <app-header></app-header>
   <app-banner *ngIf="isHomeRoute()"></app-banner>
</div>

.ts файл:

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

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.less']
})

export class AppComponent implements OnInit {

  constructor(private router: Router) {}

  ngOnInit() {}

  isHomeRoute() {
    return this.router.url === '/';
  }
}