Угловая 5 при изменении входа - PullRequest
0 голосов
/ 02 июля 2018

Мне нужно создать форму для редактирования баланса. Модель позади него - это объект, состоящий из 3-х уровней (как минимум) вложенных объектов. e.g.:

financialData: {
  assets: {
    total: 0,
    currentAssests: {total: 0, detail: 0, otherDetail: 0, ...},
    nonCurrentAssets: {total: 0, detail: 0, otherDetail: 0, ...},
    ...
  },
  liabilities: {...}
}

Как я могу вычислить различные общие поля при изменении входных данных? Все входные данные привязаны к свойству модели. Я попытался использовать директиву (ngModelChange)="computeTotals()", но она вызывается до того, как модель фактически изменится, что делает расчет неверным. Я пробовал OnChanges, но сама модель не изменилась, только вложенные свойства.

Самое близкое, что я получил, это использование DoCheck, но его часто называют. И если я хочу фильтровать, используя this.differ = differs.find({}).create(), мне нужно создать разницу для всех вложенных объектов.

Какой самый простой способ убедиться, что я вычисляю каждую сумму при изменении одного входа?

Моя форма достаточно большая, около 30 полей и 10 полных полей. На самом деле я не хочу иметь отдельный метод для каждого ввода и хочу легко поддерживать форму.

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