2016-10-10 6 views
0

Моя задача на самом деле пытается сделать широковещательные сообщения для отображения самых последних сообщений только в ограниченном количестве. Я нашел, как ограничить сообщения в этом thread. Но сейчас я борюсь за то, как показывать только последние сообщения. Я новичок в этом угловом, надеюсь, вы можете объяснить это простым способом, пожалуйста. Спасибо.Как показывать самые последние сообщения?

Если есть 10 сообщений:

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

There результат должен быть:

message 6 
message 7 
message 8 
message 9 
message 10 

Вот код:

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

В контроллере:

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

Почему вы не вещать новое сообщение в верхней ? Как [this] (https://jsfiddle.net/DieuNQ/xvL1pnkL/), я думаю, что это простое решение для вашей проблемы. – DieuNQ

ответ

2

Вы можете сделать limitTo: -limit, - помогает выбрать один из последних.

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

LimitTo:

Создает новый массив или строку, содержащую только заданное число элементов. Элементы берутся либо из начала, либо из конца исходного массива, строки или числа, как указано значением и знаком (положительным или отрицательным) предела.

+0

очень простой и эффективный. Hahahahaha. Спасибо! – MRu

1

Вы можете сделать это нарезка значения,

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

Или с помощью угловой Feature LimitTo

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

DEMO

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