2016-03-22 21 views
1

Bir ng-yineleme oluşturuyorum ve görünür olan öğelerin sayısını değiştirerek bir ng modelini kullanarak, bu iyi çalışıyor. Ayrıca ng-click ve ng-class kullanarak bir sayfalandırma oluşturuyorum ve burada sorun yaşıyorum.AngularJS update denetleyiciden ng-click kapsamı

// definitions 
$scope.clients; 
$scope.clientsAmount; 

// amount of visible clients 
$scope.limitArray = [8,12,16]; 
$scope.clientsLimit = 8; 

// function to get the amount of pages 
function getPages(els, limit) { 
    // get the total pages considrering the amount of elements 
    $scope.totalPages = Math.ceil(els/limit); 
    $log.log('get - total => ', $scope.totalPages); 
} 

Sonra önceki/sonraki gitmek için bazı işlevlere sahiptir:

Böyle böyle tutar-limitli, toplam-sayfaları, akım-sayfası olarak kontrolörün kapsam içindeki değişkenler, tanımlama ediyorum sayfa. Sayfada, bu iyi çalışıyor, ancak controllerLimit miktarını değiştirdiğimde, denetleyicinin kapsam değeri güncelleştirilse bile ($ watch kullanarak getPages işlevini tekrar clientLimit'in yeni değerini kullanarak çağırıyorum) ancak düğmelerle ng- yönerge tıklayın sayfalar için değerler değişmez. Param, bunun son/ilk veya sonraki/önceki düğmeler olup olmadığını kontrol etmektir.

// NEXT BUTTON 
    $scope.nextBtn = function(param){ 
     $log.log('value => ', value); 
     // check if this is not the last page and the param is true 
     // go to the next page 
     if($scope.currentPage !== $scope.totalPages && param) { 

      $scope.currentPage++; 

     } else if (!param) { 

      $scope.currentPage = $scope.totalPages; 

     }// conditional end 

    };// next button end 

// PREVIOUS BUTTON 
    $scope.prevBtn = function(param){ 

     // check if this is not the first page and the param is true 
     // go to the preivious page 
     if($scope.currentPage !== 1 && param) { 

      $scope.currentPage--; 

     } else if (!param) { 

      $scope.currentPage = 1; 

     }// conditional end 

    };// previous button end 

Bu

ben ng sınıf ve ng tıklama kontrolörün kapsamındaki değişiklikleri yansıtan değildir Dediğim gibi HTML

<li ng-class="firstPageCheck()"> 
    <a href aria-label="First" ng-click="prevBtn(false)"> 
    <span aria-hidden="true">First</span> 
    </a> 
</li> 

<li ng-class="firstPageCheck()"> 
    <a href aria-label="Previous" ng-click="prevBtn(true)"> 
    <span aria-hidden="true">Previous</span> 
    </a> 
</li> 

<li ng-class="lastPageCheck()"> 
    <a href aria-label="Next" ng-click="nextBtn(true, value=totalPages)"> 
    <span aria-hidden="true">Next</span> 
    </a> 
</li> 
<li ng-class="lastPageCheck()"> 
    <a href aria-label="Last" ng-click="nextBtn(false, value=totalPages)"> 
    <span aria-hidden="true">Last</span> 
    </a> 
</li> 

olduğunu. ==========================

http://plnkr.co/edit/eVSW449vJ5cv6WWvyJhc?p=info

: Burada

dosya ve JSON veri ile bir plunkr var =============

DÜZENLEME

Merhaba. Temel olarak bu "Ben bir aptal düzenlemek": P. Denetleyicinin birden fazla örneğini eklediğime göre, bu nedenle, select ng-model yalnızca denetleyici örneğini güncelleştirirken diğerleri (evet ... bir noktada 3: S'ye kadar dahil ettim) değeri ayarlanmış halde tutuyordu çalışma zamanı.

Burada sadece bir kontrolör örneği ve her şeyi izleyerek eklenen Tamam çalışma ile güncelleştirilmiş Plunker link: http://plnkr.co/edit/eVSW449vJ5cv6WWvyJhc

cevap

0

Sana kodu inceledik ve sayfalama kullanarak çünkü ithalat açısal-ui bulamadık. Check out: ve basit bir örnek https://angular-ui.github.io/bootstrap/:

'http://plnkr.co/edit/xxjIBw71hDp9AHSrEhfp?p=preview 
+0

Teşekkür Daniel !!, ben bir denemede da vereceğiz. Asla bu rotaya gitmeyi hiç düşünmemiştim, özel bir filtre oluşturup yerleşik yönergeler kullanarak bazı işlevler eklemenin çok zor görünmediğinden, diğer yönergelere başvurmayı asla düşünmedim, çünkü sonuçta sayfalandırmayı özel bir yönerge haline getireceğim. – Rodrigo

İlgili konular