提问人:Otto Abnormalverbraucher 提问时间:10/12/2023 更新时间:10/12/2023 访问量:25
通过 HttpClient 传输具有 getter/setter 属性的对象
Transmit object with getter/setter property via HttpClient
问:
我有以下班级:
export class FileData {
get name(): string { return this.#name || (this.data ? `Unnamed.${this.data.match(/[^:/]\w+(?=;|,|\+)/)?.[0]}` : '') }
set name(name: string) { this.#name = name; }
#name: string = '';
public data: string;
constructor(name: string, data: string) {
this.name = name;
this.data = data;
}
}
我正在创建这个类的对象,然后我尝试通过 angular 的 http 将其提交给 mongoose api:
this.value = new FileData("xyz", "abc");
this._http.post<FileData>(targetUrl, this.value, { observe: 'response' })
我期望发生的是这样的请求有效负载:
{
data: "abc",
name: "xyz"
}
但是,有效负载中不存在 name 属性。我可以在dev-tools中访问该属性并查看文件名,但它不会在http请求中发送。我怎样才能让 angular 将这个 getter/setter 属性视为常规属性并将其包含在我的 http 有效负载中?
如果不是我将其定义为 的 #name,则有效负载将包含 data 属性旁边的私有属性_name,但也只包含我不想要的私有属性。private _name: string
答: 暂无答案
评论
FileData
FileData
private
Typescript
_name
name
_name
name