0

私はこのエリア内に多くのイベントを表示するイベントページを持っています。ページ上部にヒーロー/バナー要素があり、これはng-repeat要素を使用して1に制限しています。AngularJS:次の5イベント日以内にランダムjsonオブジェクトを表示

私がしたいことは次の3つの今後の予定のうちの1つを表示することですこのバナーでだから、そこにはランダムなアイテムが表示されます。

1から3の間の乱数を生成するフィルタを作成しましたが、私のjsonを日付順でフィルタリングし、日付配列内で乱数を生成して1を引き出す方法は少し不明ですその配列のトップ3の

任意の助けを感謝し、私の繰り返しは、次のようになります...

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

答えて

0

私は上記フィルタ(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; 
     } 
    } 

どこ次のMath.floor計算でrandomNumに渡します。

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

したがって、最終的には、ng-repeこのような外見で:

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