Подсчет предметов с состоянием true в угловом повторителе

0

У меня есть угловой ретранслятор, который показывает результаты моего массива JSON ниже. Теперь только сегодня элементы имеют значение: "vandaag = true".

16: {id: "55", datum: "2015-08-17", punt: "dsfga", tellen: 2,…}
datum: "2015-08-17"
id: "55"
punt: "dsfga"
tellen: 2
vandaag: false
17: {id: "63", datum: "2015-08-18", punt: "lkjsdfg", tellen: 1,…}
datum: "2015-08-18"
id: "63"
punt: "lkjsdfg"
tellen: 1
vandaag: true

В моем ретрансляторе я дал предметы сегодняшнего класса.vandaag:

<div ng-repeat="r in results | filter:dateFilter" class="relatief" ng-class="{vandaag: r.vandaag === true}">

CSS понимает это правильно, но JQuery этого не делает. Я привык считать элементы по классам, но, похоже, они не существуют, когда я проверяю класс. Потому что теперь он возвращает 0:

$http.post('../ajax_crud.php', {positief: 'get', userId: userId, datumText: datumText}).
                    success(function (data, status, headers, config) {
                        $scope.results = data;

                        var vandaag = $('.vandaag').length;
                        console.log(vandaag);
                    });

Поэтому мой вопрос: как правильно подсчитать элементы с классом.vandaag?

  • 0
    попробуйте $rootScope.$digest() прежде чем считать класс
Теги:

1 ответ

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

Вы просто считаете отфильтрованные результаты, например:

<!--Assign the filtered list to a new var called "filtered"-->
<div ng-repeat="r in filtered = (results | filter:dateFilter)" class="relatief" ng-class="{vandaag: r.vandaag === true}">

//Access new "filtered" var
var vandaag = $scope.filtered.filter(function(r) {
    return r.vandaag === true;
}).length;
  • 0
    Хорошо, это почти там ... Только некоторые из моих отфильтрованных результатов имеют значение "vandaag". Поэтому я хочу считать только эти элементы в моих отфильтрованных результатах
  • 0
    @Daniel - Отредактировано

Ещё вопросы

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