Angular 8 Подписаться не получая данные возврата от сервиса - PullRequest
0 голосов
/ 11 марта 2020

Я хочу добавить данные в мои формы после передачи идентификатора в службу и получения данных на моем SERVER, но я не получаю никаких данных. вот мой код

addForm: FormGroup;
  ngOnInit(){
    const routesParams=this.routes.snapshot.params;


    this.addForm=this.formBuilder.group({
      Title:['',[Validators.required,Validators.minLength(1)]],
      Body:['',[Validators.required,Validators.minLength(1)]],
      Author:['',[Validators.required,Validators.minLength(1)]],
    })
     console.log(routesParams.post_id);

    this.blogService.getBlogbypost_id(routesParams.post_id).subscribe((data:any)=>{
      this.addForm.patchValue(data);

    });
  }

код для моего service.ts

getBlogbypost_id(id:number){
  return this.http.get<cBlog[]>(this.updateUrl+id);
}

Я также получаю данные на сервере, но не извлекаю на subscribe((data: any))

Ответы [ 2 ]

1 голос
/ 11 марта 2020

Попробуйте исправить это таким образом - я не знаю, как выглядит ваша data структура, а потом я написал это на своем пути, но вы получите это - посмотрите:

this.blogService.getBlogbypost_id(routesParams.post_id).subscribe((data:any)=>{
    this.addForm.patchValue({
        Title: data.title,
        Body: data.body,
        Author: data.author
    });
});

patchValue на самом деле не улавливает ошибки вложенности, и вы не можете иногда знать, что происходит, как написано в документации https://angular.io/guide/reactive-forms.

Надеюсь, это поможет!

0 голосов
/ 11 марта 2020

Привет, измените код, как указано ниже:

    getBlogbypost_id(id:number): Observable<cBlog[]>{
      return this.http.get<cBlog[]>(this.updateUrl+id);
    }



 this.blogService.getBlogbypost_id(routesParams.post_id)().subscribe((data:any)=>{
      console.log(data);
      this.addForm.patchValue(data);
    });

Дайте мне знать, каков будет результат!

...