การใช้พารามิเตอร์ของเส้นทางในคอมโพเนนต์ใน Angular
ตอนนี้เรามาดูกันว่าเราจะสามารถใช้พารามิเตอร์ของเส้นทางภายในคลาสคอมโพเนนต์ได้อย่างไร
สมมติว่าเรามีเส้นทางต่อไปนี้พร้อมพารามิเตอร์:
app/app.routes.tsconst routes: Routes = [
{ path: 'aaaa/:id', component: AaaaComponent },
{ path: 'bbbb', component: BbbbComponent },
];
สมมติว่าเรามีลิงก์สำหรับนำทางไปยังคอมโพเนนต์นี้พร้อมพารามิเตอร์ต่างๆ:
app/app.component.html<nav>
<a
routerLink="/aaaa/1"
routerLinkActive="active"
>
1
</a>
<a
routerLink="/aaaa/2"
routerLinkActive="active"
>
2
</a>
<a
routerLink="/aaaa/3"
routerLinkActive="active"
>
3
</a>
</nav>
สมมติว่าในคอมโพเนนต์ย่อยมีอาร์เรย์ต่อไปนี้:
app/aaaa/aaaa.component.tslet arr: string = [
'a', 'b', 'c', 'd', 'e'
];
export class AaaaComponent {
}
เราจะรับองค์ประกอบที่สอดคล้องกันจากอาร์เรย์โดยขึ้นอยู่กับค่าของพารามิเตอร์เส้นทาง:
app/aaaa/aaaa.component.tsexport class AaaaComponent {
constructor(private activateRoute: ActivatedRoute) {
let params = activateRoute.snapshot.params;
let id = params['id'];
this.value = arr[id];
}
}
มาแสดงองค์ประกอบที่ได้รับในเทมเพลต:
app/aaaa/aaaa.component.htmlค่า: {{ value }}
Задание 1
สมมติว่าในคอมโพเนนต์ย่อยมีอาร์เรย์ของวัตถุดังต่อไปนี้:
typescript[
{
name: 'user1',
surn: 'surn1',
},
{
name: 'user2',
surn: 'surn2',
},
{
name: 'user3',
surn: 'surn3',
},
]
สร้างเส้นทางที่มีพารามิเตอร์ โดยให้ข้อมูลของผู้ใช้หนึ่งคนถูกแสดงในเทมเพลต ขึ้นอยู่กับค่าของพารามิเตอร์