Angularjs ngRepeat每个循环获取随机类和一个数字

Angularjs ngRepeat每个循环获取随机类和一个数字,angularjs,ng-repeat,Angularjs,Ng Repeat,每次ng repeat循环时,我想从列表和数字中获得一个随机类 翡翠: div.feed-item(ng-repeat='feedItem in activities' ng-class="{getRandomClass(): $index%4==0}") div.explanation.ng-cloak a(href='profile/{{getUsername(fe

每次
ng repeat
循环时,我想从列表和数字中获得一个随机类

翡翠:

div.feed-item(ng-repeat='feedItem in activities'
                                ng-class="{getRandomClass(): $index%4==0}")
  div.explanation.ng-cloak        
                      a(href='profile/{{getUsername(feedItem.uorb_id)}}') {{getName(feedItem.uorb_id)}}
                      |  {{feedItem.actName}}    
                      a(ng-if="feedItem.actType == 'FOLLOW'" ng-repeat="p in feedItem.actBody.actedOn" href="profile/{{p.username}}")  {{p.fullName}}
                      | .      
                    div.datetime.ng-cloak           
                      span(am-time-ago='{{feedItem.actDate}}')
                    div.addpicture.x1(ng-if="feedItem.actType == 'IMG_ADD' && feedItem.actBody.actedOn.length == 1").ng-cloak
                      img.picture(ng-src='{{feedItem.actBody.actedOn[0].mediaUrl}}')

                    div.addpicture.x2(ng-if="feedItem.actType == 'IMG_ADD' && feedItem.actBody.actedOn.length == 2").ng-cloak
                      img.picture(ng-repeat="pic in feedItem.actBody.actedOn" 
                                  ng-src='{{pic.mediaUrl}}')      

                    //div.addpicture.x3(ng-if="feedItem.actType == 'IMG_ADD' && feedItem.actBody.actedOn.length == 3").ng-cloak
                      img.picture(ng-repeat="pic in feedItem.actBody.actedOn" 
                                  ng-src='{{pic.mediaUrl}}')
                    div.addpicture(ng-if="feedItem.actType == 'IMG_ADD'"
                                   ng-class="{{rand_class}}").ng-cloak
                                     img.picture(ng-repeat="pic in feedItem.actBody.actedOn | range: rand_num" 
                                  ng-src='{{pic.mediaUrl}}')      
div.feed-item(ng-repeat='feedItem in activities track by $index'
                                ng-class="getRandomClass(feedItem)")
                    div.explanation.ng-cloak        
                      a(href='profile/{{getUsername(feedItem.uorb_id)}}') {{getName(feedItem.uorb_id)}}
                      |  {{feedItem.actName}}    
                      a(ng-if="feedItem.actType == 'FOLLOW'" ng-repeat="p in feedItem.actBody.actedOn" href="profile/{{p.username}}")  {{p.fullName}}
                      | .      
                    div.datetime.ng-cloak           
                      span(am-time-ago='{{feedItem.actDate}}')
                    div.addpicture.x1(ng-if="feedItem.actType == 'IMG_ADD' && feedItem.actBody.actedOn.length == 1").ng-cloak
                      img.picture(ng-src='{{feedItem.actBody.actedOn[0].mediaUrl}}')

                    div.addpicture.x2(ng-if="feedItem.actType == 'IMG_ADD' && feedItem.actBody.actedOn.length == 2").ng-cloak
                      img.picture(ng-repeat="pic in feedItem.actBody.actedOn" 
                                  ng-src='{{pic.mediaUrl}}')      

                    //div.addpicture.x3(ng-if="feedItem.actType == 'IMG_ADD' && feedItem.actBody.actedOn.length == 3").ng-cloak
                      img.picture(ng-repeat="pic in feedItem.actBody.actedOn" 
                                  ng-src='{{pic.mediaUrl}}')
                    div.addpicture(ng-if="feedItem.actType == 'IMG_ADD'"
                      class="{{rand_class1}} {{rand_class2}}").ng-cloak
                        img.picture(ng-repeat="pic in newFeedItemActedOn track by $index"
                                  ng-src='{{pic.mediaUrl}}')  
控制器

$scope.classes = ["x3 highlighted",'x4', 'x4 highlighted', 'x5 highlighted', 'x6 highlighted', 'x8 highlighted'];
    $scope.getRandomClass = function(){
      var rand_num =  Math.floor(Math.random() * $scope.classes.length);
      $scope.rand_class = $scope.classes[rand_num];
      $scope.rand_num = rand_num;
      console.log($scope.rand_class, $scope.rand_num);
    };
$scope.classes = ["x3 highlighted", 'x4 highlighted', 'x5 highlighted', 'x6 highlighted', 'x8 highlighted'];
$scope.getRandomClass = function(feedItem){
  var rand_num =  Math.floor(Math.random() * $scope.classes.length);
  $scope.rand_class1 = $scope.classes[rand_num].split(" ")[0];
  $scope.rand_class2 = $scope.classes[rand_num].split(" ")[1];
  $scope.randnum = $scope.rand_class1[1];
  var newFeedItemActedOn = feedItem.actBody.actedOn.splice(0, $scope.randnum);
  console.log(newFeedItemActedOn);
  console.log($scope.rand_class1);
  return true;
};
现在,我得到了
复制
infdig
任何我尝试的东西。 我怎样才能做到这一点

更新 我也试着这么做: 翡翠:

div.feed-item(ng-repeat='feedItem in activities'
                                ng-class="{getRandomClass(): $index%4==0}")
  div.explanation.ng-cloak        
                      a(href='profile/{{getUsername(feedItem.uorb_id)}}') {{getName(feedItem.uorb_id)}}
                      |  {{feedItem.actName}}    
                      a(ng-if="feedItem.actType == 'FOLLOW'" ng-repeat="p in feedItem.actBody.actedOn" href="profile/{{p.username}}")  {{p.fullName}}
                      | .      
                    div.datetime.ng-cloak           
                      span(am-time-ago='{{feedItem.actDate}}')
                    div.addpicture.x1(ng-if="feedItem.actType == 'IMG_ADD' && feedItem.actBody.actedOn.length == 1").ng-cloak
                      img.picture(ng-src='{{feedItem.actBody.actedOn[0].mediaUrl}}')

                    div.addpicture.x2(ng-if="feedItem.actType == 'IMG_ADD' && feedItem.actBody.actedOn.length == 2").ng-cloak
                      img.picture(ng-repeat="pic in feedItem.actBody.actedOn" 
                                  ng-src='{{pic.mediaUrl}}')      

                    //div.addpicture.x3(ng-if="feedItem.actType == 'IMG_ADD' && feedItem.actBody.actedOn.length == 3").ng-cloak
                      img.picture(ng-repeat="pic in feedItem.actBody.actedOn" 
                                  ng-src='{{pic.mediaUrl}}')
                    div.addpicture(ng-if="feedItem.actType == 'IMG_ADD'"
                                   ng-class="{{rand_class}}").ng-cloak
                                     img.picture(ng-repeat="pic in feedItem.actBody.actedOn | range: rand_num" 
                                  ng-src='{{pic.mediaUrl}}')      
div.feed-item(ng-repeat='feedItem in activities track by $index'
                                ng-class="getRandomClass(feedItem)")
                    div.explanation.ng-cloak        
                      a(href='profile/{{getUsername(feedItem.uorb_id)}}') {{getName(feedItem.uorb_id)}}
                      |  {{feedItem.actName}}    
                      a(ng-if="feedItem.actType == 'FOLLOW'" ng-repeat="p in feedItem.actBody.actedOn" href="profile/{{p.username}}")  {{p.fullName}}
                      | .      
                    div.datetime.ng-cloak           
                      span(am-time-ago='{{feedItem.actDate}}')
                    div.addpicture.x1(ng-if="feedItem.actType == 'IMG_ADD' && feedItem.actBody.actedOn.length == 1").ng-cloak
                      img.picture(ng-src='{{feedItem.actBody.actedOn[0].mediaUrl}}')

                    div.addpicture.x2(ng-if="feedItem.actType == 'IMG_ADD' && feedItem.actBody.actedOn.length == 2").ng-cloak
                      img.picture(ng-repeat="pic in feedItem.actBody.actedOn" 
                                  ng-src='{{pic.mediaUrl}}')      

                    //div.addpicture.x3(ng-if="feedItem.actType == 'IMG_ADD' && feedItem.actBody.actedOn.length == 3").ng-cloak
                      img.picture(ng-repeat="pic in feedItem.actBody.actedOn" 
                                  ng-src='{{pic.mediaUrl}}')
                    div.addpicture(ng-if="feedItem.actType == 'IMG_ADD'"
                      class="{{rand_class1}} {{rand_class2}}").ng-cloak
                        img.picture(ng-repeat="pic in newFeedItemActedOn track by $index"
                                  ng-src='{{pic.mediaUrl}}')  
控制器

$scope.classes = ["x3 highlighted",'x4', 'x4 highlighted', 'x5 highlighted', 'x6 highlighted', 'x8 highlighted'];
    $scope.getRandomClass = function(){
      var rand_num =  Math.floor(Math.random() * $scope.classes.length);
      $scope.rand_class = $scope.classes[rand_num];
      $scope.rand_num = rand_num;
      console.log($scope.rand_class, $scope.rand_num);
    };
$scope.classes = ["x3 highlighted", 'x4 highlighted', 'x5 highlighted', 'x6 highlighted', 'x8 highlighted'];
$scope.getRandomClass = function(feedItem){
  var rand_num =  Math.floor(Math.random() * $scope.classes.length);
  $scope.rand_class1 = $scope.classes[rand_num].split(" ")[0];
  $scope.rand_class2 = $scope.classes[rand_num].split(" ")[1];
  $scope.randnum = $scope.rand_class1[1];
  var newFeedItemActedOn = feedItem.actBody.actedOn.splice(0, $scope.randnum);
  console.log(newFeedItemActedOn);
  console.log($scope.rand_class1);
  return true;
};

您可以添加整个
重复
错误消息以找出..哪个ng repeat正在中断?错误消息如下:
http://errors.angularjs.org/1.3.13/$rootScope/infdig?p0=10&p1=%5B%5B%7B%22m…urn%20h%7D%22%2C%22newVal%22%3A%22x8%22%2C%22oldVal%22%3A%22x3%22%7D%5D%5D
。但是,尽管angularjs中存在重复
或任何其他错误,我无法在浏览器中打开此链接:它中间有3个点,就像angularjs中的许多错误消息一样,但我无法仅打开这一个。你知道为什么吗?