0

在将 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))

4

2 回答 2

1

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

希望这会有所帮助!

于 2020-03-11T08:36:32.720 回答
0

嗨,如下所述更改代码:

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

让我知道结果如何!

于 2020-03-11T07:19:36.833 回答