다이나믹 라우팅 실행
<h1>Code Step By Step</h1>
<a routerLink="">Home</a>
<br>
<a routerLink="about">About</a>
<br>
<a routerLink="user">User</a>
<br>
<br>
<a routerLink="user/10">Isaac</a>
<br>
<a routerLink="user/20">Lim</a>
<br>
<a routerLink="user/30">Kim</a>
<br>
<router-outlet></router-outlet>
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { AboutComponent } from './about/about.component';
import { HomeComponent } from './home/home.component';
import { UserComponent } from './user/user.component';
const routes: Routes = [
{
component: HomeComponent,
path:''
},
{
component: AboutComponent,
path:'about'
}, {
component: UserComponent,
path:'user/:id'
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-user',
templateUrl: './user.component.html',
styleUrls: ['./user.component.scss']
})
export class UserComponent implements OnInit {
constructor(private route:ActivatedRoute) { }
ngOnInit(): void {
console.warn("user id is", this.route.snapshot.paramMap.get('id'))
}
}
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-user',
templateUrl: './user.component.html',
styleUrls: ['./user.component.scss']
})
export class UserComponent implements OnInit {
userId:string | null = null;
constructor(private route:ActivatedRoute) { }
ngOnInit(): void {
console.warn("user id is", this.route.snapshot.paramMap.get('id'));
this.userId = this.route.snapshot.paramMap.get('id');
}
}
<p>user works!</p>
<h1>This is User id {{userId}}</h1>