У меня есть три компонента header
, list
& home
В header
путь маршрутизации компонента для list
компонента будет задан так:
<div>
<a [routerLink]="['../list']" >List</a>
</div>
Этот header
компонент находится внутри обоих компонентов list
и home
.
В list
компоненте я отображаю data
на картах, подобных этой:
Теперь, когда пользователь нажимает на конкретную карту, пользователь перенаправляется на компонент home
вместе с выбранным объектом id
следующим образом:
код компонента
home.html
<app-header></app-header>
<h2>List Component</h2>
<div *ngFor="let contact of contacts" >
<mat-card [routerLink]="['../home' , contact.id]" >
<h4>{{contact.contactName}}</h4>
<p>{{contact.email}}</p>
</mat-card>
</div>
app-routing.module.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { ListComponent } from './list/list.component';
import { HomeComponent } from './home/home.component';
const routes: Routes = [
{ path: '', component: ListComponent },
{ path: 'list', component: ListComponent },
{ path: 'home/:id', component: HomeComponent },
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule],
})
export class AppRoutingModule { }
home.ts
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router'
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
public id: string;
public sub: any = {};
constructor(public route: ActivatedRoute) { }
ngOnInit() {
this.sub = this.route.params.subscribe(params => {
this.id = params['id'];
});
console.log(this.id);
}
}
home.html
<app-header></app-header>
<h2>Home Component</h2>
Clicked ID ==> {{id}}
Теперь проблема заключается в следующем:
- Когда я нажимаю
home
компоненты, URL-адрес будет https://XXXX-XXX-XX/home/02
- Теперь из
home
компонента, если я нажимаю list
(присутствует в компоненте заголовка), затем URL меняется https://XXXX-XXX-XX/home/list
Как можноя возвращаюсь к list
компоненту из home
компонента?
Stackblitz demo