Привязка вычисленного значения объекта вложенных угловых данных
У меня есть таблица данных, список сотрудников и их заработная плата за каждый месяц года, где есть общая сумма за каждый месяц по всему персоналу, которая рассчитывается динамически (сумма зарплат, приходящихся на этот месяц).
Я пытаюсь сделать так, чтобы при изменении одного из окладов сотрудников за определенный месяц пересчитанная итоговая сумма за этот месяц переоценивалась, и поэтому angular обновит пользовательский интерфейс, но так как вычисляется это общее свойство, я не вижу пути "пометить его как грязный", так что угловой знает, чтобы переоценить?
1 ответ
Ваш сценарий звучит так, как будто он может использовать пользовательский фильтр.
Нечто близкое к:
пользовательский фильтр:
angular.module('myApp', []).filter('mySumFilter', function() {
return function(items, param1, param2) {
return //perform sum items object in case of necessary use params to narrow your operation
};
});
и в вашем HTML
<div> {{ salaryArray |mySumFilter:'salary': 2"}} </div>
Конечно, вы можете расширить его и выполнить действия, которые больше соответствуют потребностям вашего приложения.