我尝试使用angularResource.get(params)
该类的模型如下所示:
export class d_stp_searchbar implements Id_stp_searchbar {
lperiode?: number;
private _lsichtweise: number;
scode?: string;
sbezeichnung?: string;
bezeichnungLabel: string;
set lsichtweise(value) {
this._lsichtweise = value;
this.bezeichnungLabel = this.lsichtweise === 5 ? "Name" : "Bezeichnung";
}
get lsichtweise() {
return this._lsichtweise;
}
public bezeichnung() {
if (this.lsichtweise === 5) {
this.bezeichnungLabel = "Name";
} else {
this.bezeichnungLabel = "Bezeichnung";
}
}
}
我调用api的函数如下所示:
searchStundenplan(params: d_stp_searchbar): angular.IPromise<any> {
this.searchStundenplanParams = params;
this.localStorageService.set("searchStundenplanParams", this.searchStundenplanParams);
return this.searchStundenplanResource.get(params)
.$promise.then((result) => {
this.searchStundenplanResult = result;
this.searchStundenplanResultChangedNotify();
});
}
我面临的问题是,将要调用的URL如下所示:
GET /api/search/Stundenplan?_lsichtweise=1&bezeichnungLabel=Bezeichnung&lperiode=86
但我希望,而不是使用_lsichtweise
lsichtweise
。
我是否使用错误或有人知道,为什么不使用公共财产lsichtweise
?
提前致谢
答案 0 :(得分:1)
我能够自己解决这个问题:
问题是,d_stp_searchbar仅在我们第一次调用它时才被正确实例化。
我们正在将JSON加载到TypeScript对象中,如下所示:
this.searchParamsStundenplan = localStorageService.get("searchParamsStundenplan") as d_stp_searchbar;
但是searchParamsStundenplan
不包含(在提到的问题中)lsichtweise
getter和setter,因为它是一个没有任何函数的普通数据对象。
所以我们必须通过以下方式创建一个实例:
let searchParamsStundenplanTemp = new d_stp_searchbar();
searchParamsStundenplanTemp.bindinglsichtweise = this.searchParamsStundenplan.bindinglsichtweise;
searchParamsStundenplanTemp.lperiode = this.searchParamsStundenplan.lperiode;
searchParamsStundenplanTemp.scode = this.searchParamsStundenplan.scode;
this.searchParamsStundenplan = searchParamsStundenplanTemp;
这种方式有效。