angular ng-repeat, randomize orderBy

2019-09-06 06:24发布

问题:

I am trying have my angular ng-repeat randomize the items when they appear. The random function I am currently using is below, however when i use this function I get a infdig, causing all sorts of problems. I dont want to do the randomize in the controller because both of these ng-repeats come from the same entry where there is a url and a name but the entry id is in both instances so it would be easier if I dont have to create separate arrays. So does anyone know of a random filter that can be used for this, that wont give me the infdig problems?

 $scope.random = function(){
    return 0.5 - Math.random();
  };  


<div ng-repeat="actor in actors | orderBy:random">
          <div class="col-md-2">
            <div class='imageDropTo'>
              <img class='imageDropTo' src={{actor.url}} data-id=   {{actor.id}}>
            </div>
          </div>
        </div>


 <div ng-repeat="actor in actors | orderBy:random">
            <div class='col-md-2'>
              <p id='{{actor.id}}' class='namesToDrag'> {{actor.name}} </p>
          </div>
        </div>