2017-02-25 4 views
0

Ich verwende this, um Zeilen nach col * aus ng Wiederholung zu wiederholen.AngularJS - Wie wiederhole ich Zeilen in ng-Repeat bei Fenstergröße

nun noch einen Schritt weiter gehen und einen zusätzlichen Code behandelt Ich mag würde die Spaltung mit $(window).width() innerhalb der Steuerung zu handhaben, aber ich konnte nicht erreichen, so zu tun ...

Hier Plunker demo von dem, was ich 'habe getan. Ich habe die if Bedingung kommentiert, die für jetzt nicht arbeitet.

Kann mir bitte jemand helfen?

+0

Plunker funktioniert nicht. Zumindest an meinem Ende auf FF. –

+0

Funktioniert für mich Kumpel, versucht, inkognito auch zu öffnen. Nur für den Fall hier ist der Link wieder https://plnkr.co/edit/5gojtzqdJavkBEQLwSeA Stellen Sie sicher, dass Sie es –

+0

versuchen, injizieren $ Fenster in den Controller. Es klappt! – Pengyy

Antwort

1

Sie müssen das Fenster Resize-Ereignis mit Jquery sehen, das ist, was Sie brauchen

$(window).resize(function(){ 


    $scope.$apply(function(){ 
     if ($(window).width() >= 990){ 
     $scope.teamMembers = $scope.chunk($scope.allMembers, 4); 
    } else if ($(window).width() <= 991) { 
     $scope.teamMembers = $scope.chunk($scope.allMembers, 2); 
     } 
    }); 
    }); 

Plnkr

2

Sie nicht eckig, jQuery und JavaScript als Ganzes verwenden müssen, bis zur Einstellung die Anzahl der Elemente, die auf einer anderen Auflösung angezeigt werden. Dies ist ein CSS-Problem.
Außerdem können Sie jQuery in Angular in einem directive, nicht in der controller verwenden. Der Controller wird nicht für DOM-Manipulationen verwendet, da er die Geschäftslogik für ein bestimmtes Modul sein muss.
Angular hat ein eingebautes angular.element welches (falls jQuery verfügbar ist) ein Alias ​​für die jQuery Funktion ist. Es umschließt ein rohes DOM-Element oder eine HTML-Zeichenfolge als jQuery-Element. Wenn jQuery nicht verfügbar ist, delegiert angular.element an AngularJSs integrierte Teilmenge von jQuery mit der Bezeichnung jQuery lite oder jqLite.
Sie können weitere Informationen zur Verwendung von jQuery in Angular here lesen.

$window 

ist Angular Dienst der Bezug auf die window Objekt des Browsers. Sie sollten es in den Controller injizieren, um es in den Funktionen Ihres Controllers zu verwenden.

Verwandte Themen