/ / AngularJS: Показване на произволен обект json в рамките на следващите 5 дни на събитието - angularjs, json, angularjs-ng-repeat, ng-repeat, angular-filters

AngularJS: Показване на произволен json обект в рамките на следващите 5 дни събития - angularjs, json, angularjs-ng-repeat, ng-repeat, ъглови филтри

Имам страница със събития, която показва много събития в района. В горната част на страницата има елемент герой / банер, който използва "ng-repeat" елемент и ограничава до 1.

Това, което бих искал да направя, е да се покаже 1 от следващите 3 предстоящи събития в този банер. Така че би било произволно нещо, което се показва там.

Създал съм филтър, който генерира случайнономер между 1 и 3, но аз съм малко сигурен как да филтрирате моя json по дата ред и след това в рамките на датата нареди масив за генериране на случайни номера и извадете 1 от топ 3 в този масив.

Всяка помощ оценена и моето повторение изглежда така ...

<div ng-repeat="event in Event.events | dateFilter:From:To | Orderby: start_time | RandomGeneratorFilter | limitTo:1/>

Отговори:

0 за отговор № 1

Успях да го разбера, като направих горепосочения филтър (RandomGeneratorFilter) по-долу:

function RandomGeneratorFilter($filter){
return function(items,randomNum){
var results = [];
if(items && items.length >= 3){
var itemsLength = items.length;
results.push(items[randomNum]);
}else if(items && items.length < 3){
results.push(items[0]);
}
return results;
}
}

Където преминавам в randomNum като моето изчисление на Math.floor по-долу:

vm.featuredRandom = Math.floor(Math.random()*(2-0+1)+0);

Така че в крайна сметка моят ng-repeat изглежда така:

<div ng-repeat="event in Event.events | dateFilter:From:To | Orderby: start_time | RandomGeneratorFilter:vm.featuredRandom | limitTo:1/>