无法将类型Observable <object>转换为Observable <categoriesdata>

时间:2016-12-01 17:21:45

标签: angular asp.net-core

我在Visual Studio 2015中使用ASP.NET Core + Angular 2模板来开发Angular 2应用程序。

在CategoryService上,我在尝试返回Observable时遇到错误。

enter image description here 这是CategoryData:

export class CategoriesData {
public CategoryID: number;
public CategoryName: string;
public Description: string;
public Picture: string; }

为什么我收到此错误?如果我将返回类型从Observable更改为Observable,则此错误消失。但是,在这种情况下,我将返回类型作为Object而不是我的组件中的CategoryData。

以下是调用服务的CategoryListComponent中的代码。

enter image description here

为什么它无法将从服务接收的数据作为CategoriesData传输到objCategories?它说“未定义”。

请帮忙!

1 个答案:

答案 0 :(得分:2)

这是因为您还没有说明Http服务调用返回的数据类型。您可以进行类型转换来说明它。

getCategory(): Observable<CategoryData> {
  return this.http.get(this.url)
             .map(response => response.json() as CategoryData)
             .catch(this.handleError);
}