Angular 7 Службы http с параметрами «неопределенные»

Я создал угловой сервис, импортировал его и предоставил в app.module.ts.

И я создал компонент профиля, который содержит данные, поступающие от службы, и импортировал RouterModule, маршруты с постоянными страницами: пути маршрутов, и все в порядке. проблема, которую я получаю:

VM16951:1 GET https://jsonplaceholder.typicode.com/users/undefined 404

Вот код

PagerouteService.ts

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Router, ActivatedRoute, Params } from '@angular/router';

@Injectable({
  providedIn: 'root'
})
export class PagerouteService {
  user: any;
  userid: any;
  result: any;
  constructor (public router: Router, public route: ActivatedRoute, public http: HttpClient) {
    this.route.params.subscribe((params:Params) => {this.user = params;});
    this.userid = this.user['id'];
    this.http.get('https://jsonplaceholder.typicode.com/users/' + this.userid).subscribe(data => {
      this.result = data;
    })
   }

}

ProfileComponent.ts

import { Component, OnInit } from '@angular/core';
import { PagerouteService } from '../../services/pageroute.service';

@Component({
  selector: 'app-profile',
  templateUrl: './profile.component.html',
  styleUrls: ['./profile.component.css']
})
export class ProfileComponent implements OnInit {
  return:any;

  constructor(public pageRoute:PagerouteService) {
    this.return = this.pageRoute.result;
  }

  ngOnInit() {
  }

}

profile.component.html

<p>
  profile works!
</p>
<ul *ngIf = "return">
  <li>{{return.id}}</li>
  <li>{{return.name}}</li>
  <li>{{return.username}}</li>
</ul>

Пути

const pages:Routes = [
  {path: '*', component: AppComponent},
  {path: 'murtada', component: MurtadaComponent},
  {path: 'config', component: ConfigComponent},
  {path: 'userinfo', component: UserinfoComponent},
  {path: 'profile/:id', component: ProfileComponent},
]

Пожалуйста, покажите свои определения маршрута.

Nathan Beck 31.01.2019 22:48

const pages:Routes = [ {путь:'*', компонент:AppComponent}, {путь:'murtada', компонент:MurtadaComponent}, {путь:'config', компонент:ConfigComponent}, {путь:'userinfo', компонент :UserinfoComponent}, {путь:'profile/:id', компонент:ProfileComponent}, ]

Murtada Alaboudi 31.01.2019 22:58

Спасибо - для удобочитаемости отредактируйте исходный ответ и добавьте его туда.

Nathan Beck 31.01.2019 23:00

извините за плохие коды в комментарии, готово

Murtada Alaboudi 31.01.2019 23:02

Пожалуйста, рассмотрите просмотр параметров маршрута, используя резольвер, чтобы найти своего пользователя или, по крайней мере, вернуть Observable из вашего сервиса и подписаться на него из компонента, который его использует. Я понимаю, что вы новичок, но в вашем коде есть серьезные проблемы, которые вы можете решить, прочитав и изучив документацию. Удачи!

Nathan Beck 31.01.2019 23:17
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
5
186
0

Другие вопросы по теме