Я пытаюсь получить доступ к API с angularResource.get(params)
AngularJS ресурсов с геттер в 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";
}
}
}
Функция, где я называю апи выглядит следующее:
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();
});
}
проблема I'am облицовка, что URL, который будет называться выглядит так:
GET /api/search/Stundenplan?_lsichtweise=1&bezeichnungLabel=Bezeichnung&lperiode=86
, но я хочу, что вместо _lsichtweise
lsichtweise
будет использоваться.
Я использую это неправильно или кто-то знает, почему не используется общественная собственность lsichtweise
?
Заранее спасибо
В вашем классе 'd_stp_searchbar' нет открытого свойства' lsichtweise'. Вы создали магическую функцию 'get', но' angular.IPromise' распознает только классы и игнорирует функцию магического геттера. Просто добавьте свойство public class 'lsichtweise: number;'. Может быть, 'angular.IPromise' вызовет функцию волшебного геттера, и с вами все будет в порядке. – lin
Другой способ - переназначить ваши атрибуты модели, в то время как они анализируются как params в 'angleular.IPromise'. Какое решение вы бы предпочли? – lin
Проблема заключалась в том, что 'd_stp_searchbar' был создан только в первый раз, когда мы его вызвали. Таким образом, ваш комментарий не был решением, а игровым мастером для дальнейших исследований. Спасибо! – BinaryFr3ak