2017-01-23 5 views
-1

Ich möchte diesen Code in eckig ändern, ich schreibe einen Teil des Codes, aber ich weiß nicht, was ich verwenden soll ersetzen von: It(). jQuery-Code ist in dieser url: jsfiddle.netKonvertieren: It() Funktion jquery zu eckig

und mein Winkel Code ist dies:

x = 3; 
    $scope.itemsPerPage = 3; //show article in page when page load . this code is replace of : " $('#myList li:lt('+x+')').show(); " 
    sizeLi = $scope.articles.length; //sizeLi return count of my articles . Replace of : " $("#myList li").size(); " 
    $('#loadMore').click(function() { 
      x = (x + 5 <= sizeLi) ? x + 5 : sizeLi; 
      **$scope.articles.push($scope.articles[x]); // Replace of : " $('#myList li:lt('+x+')').show(); "** 
      return false; 
    }); 
+0

verwenden können 'limitTo' Filter auf Ihrem ng-repeat – charlietfl

Antwort

1

Nach Ihrer jsfiddle Sie diese in Winkel erreichen kann durch limitTo mit und zwei Funktion in den LimitTo Bereich

gesetzt

in Controller:

$scope.limit = 1; 
    $scope.articles = [ 
    'one','two','three','four','five','six','seven','eight','nine','ten' 
    ]; 

    $scope.loadMore = function() { 
     var sizeLi = $scope.articles.length; 
     var x = $scope.limit; 
     x = (x + 5 <= sizeLi) ? x + 5 : sizeLi; 
     $scope.limit =x; 
    }; 

    $scope.showLess = function() { 
     var sizeLi = $scope.articles.length; 
     var x = $scope.limit; 
     x=(x-5<0) ? 3 : x-5; 
     $scope.limit =x; 
    }; 

und HTML:

<ul id="myList"> 
    <li ng-repeat="articale in articles | limitTo : limit : 0">{{articale}}</li> 
</ul> 
<div style="cursor:pointer" ng-click="loadMore()" >Load more</div> 
<div style="cursor:pointer" ng-click="showLess()">Show less</div> 

Aktualisiert HTML anzeigen oder ausblenden laden mehr und weniger Taste

<div style="cursor:pointer;color:green" ng-click="loadMore()" ng-show="limit<articles.length">Load more</div> 
<div style="cursor:pointer;color:red" ng-click="showLess()" ng-show="limit>0">Show less</div> 

mehr für DEMO siehe

+0

Hallo Shaishab Roy, ich verwendet von Ihrem Code. Also danke, es funktioniert sehr gut, aber es hat ein Problem: Wenn ich die Seite lade und zuerst auf "showLess" klicke, funktioniert es wie "loadMore". Was soll ich dafür tun? –

+0

Verwenden Sie 'x = (x-5 <0)? 0: x-5; 'in' showLess' Funktion anstelle von 'x = (x-5 <0)? 3: x-5; '@ mahdikhodadadian –

+0

Ich habe einen Teil vergessen, der dir sagt. Es ist: wenn die Artikel vollständig angezeigt werden (dass es keinen anderen Artikel zu zeigen gibt), zeigen andere nicht Button (div) loadMore. Eigentlich versteckt es. Also danke –