2017-06-15 22 views
-1

Iは、例えば、配列を持っている場合:はAngularJS ngRepeatディレクティブでコレクション名を取得

$scope.users = [ 
    John: { 
     age: 18, 
     genre: 'male', 
     type: 'admin' 
    }, 
    Paul: { 
     age: 22, 
     genre: 'male', 
     type: 'admin' 
    } 
]; 
私はngRepeatで反復する場合

どのようにユーザー名を入手できますか?

<li ng-repeat="user in users"> 
    {{ }} <!-- Name Here --> 
    {{ user.age }} <br> 
    {{ user.genre }} <br> 
    {{ user.type }} 
</li> 

ありがとう!

+1

FYI、それは無効なJSON配列です! –

答えて

1

1)あなたは、あなたのコード内のエラーを持っている:あなたの配列はする必要がありますがそれはngRepeatでキーJohn, Paul ...

2)を有しているため、オブジェクトのことができます。iterate over object properties like (key, value) in obj

ここでは、実施例である。

angular.module('myApp', []) 
 
.controller('MyCtrl', ['$scope', function MyCtrl($scope) { 
 
    var ctrl = this; 
 
    
 
    ctrl.users = { 
 
     John: { 
 
      age: 18, 
 
      genre: 'male', 
 
      type: 'admin' 
 
     }, 
 
     Paul: { 
 
      age: 22, 
 
      genre: 'male', 
 
      type: 'admin' 
 
     } 
 
    }; 
 
    
 
    
 
}]);
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="//code.angularjs.org/1.6.2/angular.js"></script> 
 

 
<div ng-app="myApp"> 
 
    <div ng-controller="MyCtrl as $ctrl"> 
 
    <ul> 
 
     <li ng-repeat="(key, user) in $ctrl.users track by $index"> 
 
     {{ key }} 
 
     {{ user.age }} <br> 
 
     {{ user.genre }} <br> 
 
     {{ user.type }} 
 
     </li> 
 
    </ul> 
 
    </div> 
 
</div>

0

あなたは値[「ポール」、「ジョン」]

<li ng-repeat="user in users track by $index"> 
    {{ Object.keys(users)[$index] }} 
    {{ user.age }} <br> 
    {{ user.genre }} <br> 
    {{ user.type }} 
</li> 

これはテストされていませんが、私はそれはあなたが必要なものの線に沿ってされるべきだと思うと配列を取得するためにObject.keys(users)を使用することができます。

関連する問題