Wątek przeniesiony 2018-06-01 07:06 z Java przez Shalom.

Angular 2 różne navbary

0

Witam, mam pewnie problem z routingiem w angularze.
Chodzi o to, że chciałbym aby po wejscu w url /home/... pokazywał się inny navbar niż pod /admin/
W jaki sposób mogę to osiągnąć?

app.component.html wyglada w ten sposób


<app-nav-bar></app-nav-bar>
<router-outlet></router-outlet>

probowalem robic cos w ten deseń


<div [hidden]="!isAdminUrl">
<app-nav-bar></app-nav-bar>
</div>
<router-outlet></router-outlet>

gdzie isAdminUrl sprawdzałem w ten sposób w app.comonent.ts


  ngOnInit() {
    console.log(this.router.url);
    if (this.router.url === '/admin/login'){
      this.isAdminUrl=true;
    }
  }

problem w tym, że w konsoli zawsze pokazuje url jako '/', podejrzewam że jest to domyślna ścieżka?

Gdyby ktoś mógł doradzić mi cokolwiek, byłbym wdzięczny.
Pozdrawiam,

0

<navbar id="angular_nie_ma_nic_wspólnego_z_javą_w_której_założyłeś_wątek1" *ngIf="window.location.href.includes('home') ">
<navbar id="angular_nie_ma_nic_wspólnego_z_javą_w_której_założyłeś_wątek2" *ngIf="window.location.href.includes('admin') ">

1

Spróbuj użyć ActivatedRoute, chyba, że już tego używasz, a następnie musisz pobrać url w następujący sposób
this.route.snapshot.url

0

Użyłem po prostu

<div *ngIf="this.router.url === '/user'">

tylko teraz problem jest z tym, żeby łapało każdy url który jest po /user/..., czyli np /user/products etc.
w jaki sposób mogę coś takiego osiągnąć? probowałem coś jak w javie '/user/**', ale nie działa^^

1 użytkowników online, w tym zalogowanych: 0, gości: 1