我有 app.component.ts , header.component.ts , users.component.ts 和 shared.service .ts 一个变量" 选项"。
在 app.component.html 中,我有类似的内容:
<app-header></app-header>
<router-outlet></router-outlet>
app-heade r - 与 header.component.ts , router-outlet 相关 - 与 users.component相关.TS
在 ngOnInit()的 app.component.ts 中,我执行ajax-request以获取&#34;选项&#34; 和设置:
sharedService.options = "result of ajax"
然后我想在标题和用户组件的 ngOnInit()方法中使用 sharedService.options 变量。但有时候我有错误sharedService.options.property is undefined
。
我该如何解决?
答案 0 :(得分:0)
您在服务中使用了一个observable&amp;在ngOnInit中, 您订阅了该服务。 这是通常的模式。
像这样。
in service.ts
getAll():Observable<Object[]>{
return this.http.get(this.newsURL)
.map(res=>res.json())
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
在ngOnInit中 你在构造函数&amp;中创建了一个服务对象。
this.myObject.getAll.subscribe(
//logic goes here what u want to do for service return type.
)