【发布时间】:2017-01-06 18:39:33
【问题描述】:
我有一个产品服务,其方法可以从 json 数据返回 Observable。
product.service.ts....
getProducts(): Observable<IProductData[]> {
return this._http.get(this._productUrl)
.map((response: Response) => <IProductData[]> response.json())
.catch(this.handleError);
}
在我的组件中,我订阅服务并调用 getProducts() 方法返回 Observable IProductData[]。
mycomponent.ts ..
productData: IProductData[];
ngOnInit(): void {
this._productService.getProductsObservable()
.subscribe(
productData => this.productData = <IProductData[]>productData,
error => this.errorMessage = <any>error,
function() { console.log(this.productData ) }
);
}
当我查看 onCompleted console.log this.productData 未定义!
我想使用这些数据来设置组件中的字段。何时/如何确定数据已返回?
如果我在按钮单击事件上输出 this.productData,则数据已被填充,但我想在初始化时执行此操作。
任何建议或意见将不胜感激。
干杯
【问题讨论】:
标签: json angular typescript rxjs observable