Как использовать угловые фильтры на интерфейсе / шаблонах

0

У меня есть список чисел, повторяющихся горизонтально, используя ng-repeat. В конце последнего номера есть div, где я хочу отображать сумму всех чисел. Как это сделать, используя фильтр на экране. Это вообще возможно.

Я знаю способ привязки его переменной JS. Но я хочу добиться этого в самом шаблоне. что-то вроде:

Всего {{сумма (n в повторном браке)}}

заранее спасибо

Теги:
templates
filter

1 ответ

0
Лучший ответ

Вы можете сделать это несколькими способами. Ниже приведены ссылки для быстрой справки.

Вычисление суммы повторяющихся элементов в AngularJS ng-repeat

Вы можете создать собственный фильтр для этого, как указано ниже.

angular.module('caco.feed.filter', [])
.filter('sumByKey', function() {
    return function(data, key) {
        if (typeof(data) === 'undefined' || typeof(key) === 'undefined') {
            return 0;
        }

        var sum = 0;
        for (var i = data.length - 1; i >= 0; i--) {
            sum += parseInt(data[i][key]);
        }

        return sum;
    };
});

Для справки, пожалуйста, следуйте приведенному ниже рабочему примеру.

CodePen

  • 0
    Никогда раньше не использовал пользовательский фильтр ... Что такое данные и ключ и как они передаются
  • 0
    работает нормально ... только я добавлю проверку данных! === null, так как мой массив может быть нулевым, а typeof (null) возвращает объект.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню