Я просматривал разные статьи о вычисленных свойствах в Angular и обнаружил, что простые функции получения не годятся из-за соображений производительности. Есть некоторые идеи о библиотеке mobx, которые я раньше не использовал, и это немного сбивает с толку.
Это не обязательно должно быть mobx, но я попытался добавить декораторы в свои модели, как показано ниже в моем предложении. model.ts:
@observable
offerValidFor: number;
@observable
createdate: Date;
@computed
get validUntil(): Date {
const date = new Date(this.createdate);
date.setHours(this.validUntil.getHours() + this.offerValidFor);
return date;
}
Однако, когда я добавляю свой HTTP-сервис, результирующие элементы коллекции вообще не имеют свойства validUntil.
this.offerService.getList().subscribe((offers) => {
//items in offer collection do not have validUntil prop here
this.offers = offers;
});
Мне любопытно, что я здесь делаю не так и каковы лучшие практики вычисляемых свойств в случае, когда я возвращаю коллекцию элементов через HTTP, а затем хочу, чтобы каждый из элементов имел дополнительное вычисляемое свойство. Спасибо!