Angular - отображение GraphQL или любых данных json с помощью пользовательских методов - PullRequest
0 голосов
/ 16 ноября 2018

Имея сервер 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) несколько раз, но требует обслуживания, логики и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...