2015-11-22 5 views
0

В AngularJS, как я могу подсчитать количество вхождений определенного атрибута (data-page в этом случае)?Подсчитайте количество событий атрибута

У меня есть несколько псевдостраниц, которые отображаются пользователю после прокрутки, и я хочу, чтобы счетчик страниц не превышал количество страниц. Я установил свои контейнеры следующим образом, но если у кого есть какие-либо лучше идеи, как я могу это сделать, я открыт для предложений -

Моего HTML (образец) -

<body class="single single-post postid-5 single-format-standard ng-scope" data-ng-swipe-right="prevPage()" data-ng-swipe-left="nextPage()" data-ng-controller="bodyCtrl"> 
    <div id="main"> 
     <div class="container"> 

      <div class="allowed page page-1 visible" data-page="1"> 

       <div class="mask"></div> 
       <div class="inner"> 
        { page content } 
       </div> 

      </div> 

     </div> 
    </div> 
</body> 

Мой контроллер -

myApp.controller('bodyCtrl', function($scope){ 

    $scope.currentPage = 1; 
    $scope.getMaxPage = function(){ 
     { Not sure how??? } 
    } 
    $scope.maxPage = $scope.getMaxPage(); 

    $scope.nextPage = function(){ 
     $scope.currentPage = ($scope.currentPage >= $scope.maxPage) ? $scope.maxPage : $scope.currentPage + 1; 
    } 

    $scope.prevPage = function(){ 
     $scope.currentPage = ($scope.currentPage > 1) ? $scope.currentPage - 1 : 1; 
    } 

    $scope.isVisible = function(page){ 
     return ($scope.currentPage >= page); 
    } 

}); 

ответ

2

Я думаю, что вы можете выбрать счет с помощью JQuery, если вы используете JQuery вместе с угловым или вы предпочитаете сделать это, как показано ниже дерзайте.

//count the number of occurrences of the `data-page` attribute. 
var count = $('[data-page]').length; 

вот DEMO

Если вы предпочитаете не использовать jquery то сделать это в простом старом яваскрипта способом.

//select all element with the data-page attribute 
var elements = document.querySelectorAll('[data-page]'); 
var count = elements.length; // get the number of occurrences. 

вот DEMO

Смежные вопросы