【发布时间】:2020-05-02 02:29:17
【问题描述】:
我有一个返回这个 Json 的端点:
{
"result": [
{
"id": 1,
"name": "Kayak",
"category": "Watersports",
"description": "A boat for one person",
"price": 27500,
"currencyCode": "EUR"
},
{
"id": 2,
"name": "Lifejacket",
"category": "Watersports",
"description": "Protective and fashionable",
"price": 48095,
"currencyCode": "EUR"
},
{
"id": 3,
"name": "Soccer Ball",
"category": "Soccer",
"description": "FIFA-approved size and weight",
"price": 1950,
"currencyCode": "EUR"
}
]
}
我在 Angular 中有一个名为 Product 的类:
import { Money, Currencies } from 'ts-money';
export class Product {
private money: Money;
public Amount = this.money.amount;
public constructor(
public Id: number,
public Name: string,
public Category: string,
public Price: number,
public Description: string,
public CurrencyCode: string) {
this.money = new Money(Price, CurrencyCode);
}
public GetPrice(): Money {
return this.money;
}
}
我在 Angular 中编写了这段代码:
export class ProductComponent implements OnInit {
constructor(private datasource: ProductDataSource) {
}
private products: Product[];
ngOnInit(): void {
this.datasource.GetProducts()
.subscribe((data) => {
this.products = data;
});
}
}
}
此代码成功返回与Product 具有相同属性的 JSON 对象数组。现在,当我订阅这个 observable 时:
this.datasource.GetProducts()
.subscribe((data) => {
// this.products is a class property of type Product[]
this.products = data; // How do I make this work?
});
我不知道如何从 JSON 对象转换到 Angular 类。我的 HTML 页面无法将 this.products 识别为 Product 对象的数组。我该怎么办?
【问题讨论】:
-
如何在您的组件中声明/初始化
this.products以及您如何在模板中使用它?你能把这个添加到你的问题中吗?
标签: angular