警告:我对Angular还是很陌生,所以如果以下问题表明我的方法完全脱离了常规,请告诉我。
我有一个模型AltChar
。它具有与source
模型相关的Source
属性。为了节省带宽,后端不会使用每个Source
的全部数据来解析整个AltChar
对象,而是包括一个id
字段,并且传输Source
的列表s。
相反,当我通过API更新AltChar
时,我不需要传输整个Source
字段:id
就足够了,后端将在其一侧对其进行解析。
以下是一些代码:
import { Source } from './source';
export interface AltCharInterface {
id: number;
source: Source | number;
prep: any;
}
export class AltChar implements AltCharInterface {
constructor (
public id: number,
public source: Source,
) {}
static readonly EMPTY_MODEL = {
id: null,
source: Source.EMPTY_MODEL,
} as AltChar;
prep = () => {
return {
'id': this.id,
'source': this.source.id,
}
};
}
然后,在我的TS文件中,我想使用以下方式将该数据传输到REST API:
altCharService.addAltChar(this.altChar.prep())
.subscribe(data => altChars.push(this.altChar));
但是它告诉我prep()
不是函数。