Angular Js - 在Controller中获取变量

时间:2016-10-04 15:33:44

标签: javascript angularjs

我有一个梯子,我的用户按分数排序,我使用ng-repeat中的变量来了解我的用户在梯子中的位置

<tr ng-repeat="user in users| orderBy:'-score'" ng-init="pos=0">
  <td>{{pos + $index + 1}}</td>
  <td>{{user.email}}</td>
  <td>{{user.score}}</td>
<tr>

我想将这些数据保存在控制器中,每个用户必须具有等级

{{pos + $index + 1}}

示例:

{user : 
"score":12,
"email":test,
"rank": (result of var  {{pos + $index + 1}})
}

我想知道如何在我的控制器中获得他的价值结果

第2部分

谢谢你的回答:) 但是当我显示新值时,我得到了未定义

var User =  $resource('http://localhost:1337/user');
      var user = User.query(function(data){
          $scope.users = data;
          console.log("Try to display rank",$scope.users[0].rank);
}

在控制台中:尝试显示未定义的等级

这很奇怪,因为当我尝试:

 console.log("Try to display rank",$scope.users[0]);

我得到了:

尝试显示排名{email : “测试1”, 名字 : 测试, ID : 1, isLogged : 空值, 姓 : 空值, 的 : 4, rankPrevious : 空值, 得分了 : 20}

由于

1 个答案:

答案 0 :(得分:0)

在html中

{{user.rank = pos + $index + 1}}

上面的表达式将pos + $index + 1的结果分配给用户对象中的user.rank。因此,每个user对象都有自己的rank单独保持跟踪。

在控制器中,您可以使用

访问每个排名
$scope.users[0].rank
$scope.users[1].rank