Я работаю с этим поддельным API 'jsonplaceholder', получая и отправляя данные с одной моделью: Пользователи. Моя цель - отобразить список пользователей, и при каждом нажатии я перемещаюсь к другому компоненту, где я вижу его идентификатор. Но пока я могу только отобразить список; Идентификатор не определен, и я больше ничего не могу сделать. Я пытался следовать этому сообщению , но это не сработало Может кто-нибудь помочь?
Служба:
getUsers(): Observable<Users> {
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
})
};
return this.http.get<Users>(this.urlUsers, httpOptions).pipe(
retry(3),
catchError(this.handleError));
}
Home.TS
users: Users;
id: string;
constructor(private router: Router,
private dataService: DataService,
private route: ActivatedRoute) {
this.id = this.route.snapshot.params['id'];
console.log(this.id); -----> undefined
}
ngOnInit() {
this.getUsers();
}
getUsers() {
this.dataService.getUsers().subscribe(data => {
this.users = data;
console.log(this.users);
});
}
getById(){
this.dataService.getById(this.id).subscribe(data => {
this.users=data['id'];
this.router.navigate(['/second, users.id'])
})
}
ГЛАВНАЯ HTML
<div class="container">
<ul *ngFor="let user of users">
<li (click) = "getById();">{{user.name}}</li> ---->backend returns 404
</ul>
</div>
РЕДАКТИРОВАТЬ: Мои маршруты
const routes: Routes = [
{
path: 'home',
component: HomeComponent
},
{
path: 'second',
component: SecondComponent
},
{
path: '**',
redirectTo: '/'
},
{
path: '',
component: HomeComponent
},
];
И paramsMap тоже не работают ...