AngularJS'deki öğelerin listesini nasıl rastgele sırayla sipariş edersiniz? Dahili orderBy
filtresinin çalışacağını düşünüyordum, ancak modele bazı ek veriler eklemeden nasıl emin değilim. Bir şey harika olurdu.AngularJS kullanarak bir koleksiyonun sırasını nasıl rastgele hale getirebilirim?
item in items | orderBy:random
Sıradaki düşüncem özel bir filtre oluşturmaktı ancak daha iyi bir şey varsa bundan kaçınmayı tercih ederim. ,
$scope.random = function(){
return 0.5 - Math.random();
};
Bu bazen negatif, bazen pozitif rasgele bir değer döndürür:
'um olmadığından sh0ber'in cevabı hakkında yorum yapılamadı Angular uzmanı değil, ancak filtre her zaman değerlendirilebilir ve öğelerin her zaman karıştırılmasına devam eder. Yüklendiklerinde öğelere "rastgele" özellik eklemek ve bu mülke göre sipariş vermek isteyebilirsiniz. – Dogbert
@Dogbert bunun hakkına sahiptir. AngularJS'nin şu anki sürümlerinde, aşağıdaki [kabul edilen cevap] (http://stackoverflow.com/a/17102267/901048) konsolda 'infdig' hataları üretir, çünkü sıralama aynı sipariş iki kez üretilinceye kadar tekrarlanır. [Bu soru] bölümüne bakın (http://stackoverflow.com/questions/21586369/random-orderby-in-angularjs-1-2-returns-infdig-errors). – Blazemonger