Angular 8 订阅未从服务获取 return 数据

Angular 8 Subscribe not getting the return data from service

我想在将 ID 传递给服务并在我的 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))

上获取数据

您好,按如下所述更改代码:

    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);
    });

让我知道结果如何!

尝试以这种方式修补值 - 我不知道你的 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

希望对您有所帮助!