angular の ngoninit でオブジェクトが常に「未定義」である理由がわかりません。API プロジェクトでリクエストすると、正しく応答が得られます。私console.log
のオブジェクトは定義されていませんが(ngoninit)、他の関数では値を取得できます。
私の質問は、ngoninit でオブジェクトを取得する理由と方法です。
ありがとうございました
郵便配達員の他の関数も取得して、応答を正しく取得します
サービス:
getById(id:string):Observable<Grower>{
return this.http.get<Grower>(`${environment.apiUrl}/growers/${id}`);
}
モデルを見る:
export class GrowerDetails {
adress:string;
zip:string;
city:string;
}
成分:
growerService:GrowerService;
detailsProfil: GrowerDetails;
constructor(private authenticationService: AuthenticationService, growerService:GrowerService,
private formBuilder:FormBuilder) {
this.growerService = growerService;
}
ngOnInit() {
this.detailsProfil = new GrowerDetails();
this.growerService.getById(this.decoded.nameid).subscribe(
(data:Grower) => this.detailsProfil = {
adress: data.adress,
city: data.city,
zip : data.zip
},
error => console.log(error)
);
console.log(this.detailsProfil); // undefinned
onSubmit(){
console.log(this.detailsProfil); // ok
}
郵便屋さん:
{
"lat": 0,
"long": 0,
"description": "test",
"adress": "test",
"zip": "test",
"city": "test"
}