2016-10-10 8 views
0

Meine Aufgabe versucht tatsächlich, eine Broadcast-Nachricht zu senden, um die neuesten Nachrichten nur in einer begrenzten Anzahl anzuzeigen. Ich habe herausgefunden, wie man die Nachrichten in diesem thread begrenzen kann. Aber gerade jetzt kämpfe ich darum, wie man nur die neuesten Nachrichten zeigt. Ich bin neu in diesem eckigen, hoffe du kannst es bitte auf einfache Weise erklären. Vielen Dank.Wie zeigen Sie die neuesten Nachrichten an?

Wenn 10 Nachrichten gibt es:

message 1 
message 2 
message 3 
message 4 
message 5 
message 6 
message 7 
message 8 
message 9 
message 10 

sollte es sein Ergebnis:

message 6 
message 7 
message 8 
message 9 
message 10 

Hier ist der Code:

<div ng-repeat="score in scores | limitTo: limit"> 
.......... 
</div> 

In Controller:

var limitStep = 5; 
$scope.limit = limitStep; 
$scope.incrementLimit = function() { 
    $scope.limit += limitStep; 
}; 
$scope.decrementLimit = function() { 
    $scope.limit -= limitStep; 
}; 
+0

Warum Sie keine neue Nachricht in Top-Broadcast ? Wie [this] (https://jsfiddle.net/DieuNQ/xvL1pnkL/) denke ich, dass es eine einfache Lösung für Ihr Problem ist. – DieuNQ

Antwort

2

Sie können limitTo: -limit, - helfen, aus dem letzten zu wählen.

<div ng-repeat="score in scores | limitTo: -limit"> 

LimitTo:

Erzeugt ein neues Array oder String nur eine bestimmte Anzahl von Elementen enthält. Die Elemente werden entweder vom Anfang oder vom Ende des Quell-Arrays, der Zeichenkette oder der Zahl übernommen, wie durch den Wert und das Vorzeichen (positiv oder negativ) des Grenzwerts angegeben.

+0

sehr einfach und effektiv. Hahahahaha. Vielen Dank! – MRu

1

Sie können dies tun, indem Sie die Werte schneiden,

<ul ng-repeat="strVal in arrVal.slice(5, 10)"> 
    <li>{{strVal}}</li> 
    </ul> 

oder mit Winkelfunktion LimitTo

<div ng-repeat="strVal in arrVal| limitTo: 10 | limitTo: -5">{{strVal }}</div> 

DEMO

Verwandte Themen