Имея сервер GraphQL, он выглядит следующим образом:
Order {
price: Float
tax: Float
}
И я хочу, чтобы Angular отображал / работал с обоими значениями, а также с третьим значением priceWithTax.Обычно я бы установил getter для объекта следующим образом:
priceWithTax() {
return this.price + this.tax;
}
Как лучше всего использовать данные Angular и JSON (или, может быть, специально для GraphQL), чтобы показывать некоторые «вычисленные» данные, основанные на json.
Очевидно, что есть несколько способов сделать это:
1. Рассчитать priceWithTax на сервере (но затем вам нужно изменить сервер, когда вам снова понадобится какое-либо новое свойство)
2. Вы можете гидрировать / передавать / любые данные jsonв пользовательский объект с определенным геттером или методом (не нужно менять сервер, но вводить новую логику и много определений классов)
3. Использовать Angular Pipes - но тогда каждое такое свойство, которое вам нужно, станет новым Pipe (выполнимо длянемного свойств, но вы теряете intellisense "item. ??", вы не можете использовать pipe в логике компонентов и т. д.)
Так что должно быть лучшим способом работы с такими данными?Я использовал метод (2) несколько раз, но требует обслуживания, логики и т. Д.