Невозможно получить идентификатор кликаемой записи из таблицы в Angular - PullRequest
0 голосов
/ 22 января 2020

Я работаю над Angular проектом. Я хочу получить идентификатор одной записи, которую я щелкнул, для передачи в другой компонент.

Когда я нажимаю на запись , я вижу идентификатор в URL , но не могу извлечь в новом компоненте.

Это мой код 1-го компонента

<tr><td> <a routerLink="/devicelist/{{lst.ID.Value}}">{{lst.Failed}}</a> </td></tr>

Ниже кода во 2-м компоненте для получения идентификатора, но во время добавления id с помощью URL, это показывает Не определено .

Код второго компа

id = this.actRoute.snapshot.params['ID.Value']; 
ngOnInit() {  
    this.getFailedApps(this.id).subscribe((data:any) => {
    this.devices = data;
    console.log(data);
   })
}

public getFailedApps(Id) {
//here Id is Undefined
 return this._http.get(this.FailedDeviceUrl +Id+"/myapps", this.httpOptions); 
}

Это мой файл маршрута

 { path: 'devicelist/:id', component: DeviceListComponent } 

1 Ответ

1 голос
/ 22 января 2020

Замените ваш routerLink следующим кодом

<tr><td> <a [routerLink]="['/devicelist', lst.ID]" >{{lst.Failed}}</a> </td></tr>

Также объявите параметр в Route в AppModule.ts

{ path: 'devicelist/:id', component: YourComponent }

Затем в компоненте прочитайте параметр, используя следующий код

  id: number;
  constructor(private route: ActivatedRoute) {}

  ngOnInit() {
    this.sub = this.route.params.subscribe(params => {
       this.id = +params['id']; // (+) converts string 'id' to a number
    });
  }
...