การใช้พารามิเตอร์ของเส้นทางในคอมโพเนนต์ใน 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',
  },
]

สร้างเส้นทางที่มีพารามิเตอร์ โดยให้ข้อมูลของผู้ใช้หนึ่งคนถูกแสดงในเทมเพลต ขึ้นอยู่กับค่าของพารามิเตอร์