Имам страница със събития, която показва много събития в района. В горната част на страницата има елемент герой / банер, който използва "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/>