这是我的组件:
export class CaseStudyDetailComponent implements OnInit {
casestudy: CaseStudy;
constructor ( private caseStudyService: CaseStudyService, private route: ActivatedRoute, public titleService: Title ) { }
ngOnInit() {
this.route.params.subscribe((params: { Handle: string }) => {
this.caseStudyService.getCaseStudy(params.Handle).subscribe(casestudy => this.casestudy = casestudy);
});
this.titleService.setTitle(this.casestudy.Handle);
}
}
这是它正在调用的服务:
getCaseStudy(Handle: string): Observable<CaseStudy> {
return this.http.get<CaseStudy>(`${environment.apiPath}/project/handle/${Handle}`);
}
我希望能够在'setTitle()'方法中访问'casestudy'的值。我可能只是误解了预期的行为或语法错误。
让我知道是否需要更多信息。
答案 0 :(得分:1)
因为在您的订阅可以在caseStudy中设置响应之前,console.log已被执行。
要解决此问题,请将console.log方法放入订阅
this.caseStudyService.getCaseStudy().subscribe(caseStudy => {
... code
console.log(caseStudy);
});