【发布时间】:2022-07-12 23:15:44
【问题描述】:
我在后端有很多 api,想要创建前端 Angular,但是 api 如何只返回结果 ["domain1","domain2"],我需要将此 llist String[] 转换为 Domain[],使用
export interface Domain{
name:string;
}
this.domainService.getAll().subscribe((data: String[])=>{
data.forEach((value: String, index: number, array: String[]) => {
let domain:Domain;
domain.name = value;
this.domains.push(domain);
}
) })
//The variable 'domain' is used before being assigned
【问题讨论】:
-
你能给出完整的错误信息吗?此外,您分配了
domain.name,但域还没有分配给任何东西(您定义了它的类型但它还不是一个对象,所以您会收到类似“无法设置未定义的属性”的错误)。您可以使用以下方式更轻松地转换您的数组:this.domainService.getAll().subscribe((data: string[]) => {return data.map(domain => { return {name: domain}; })}(最好不要订阅,而是使用 map rxjs 运算符) -
标签: angular