2016-10-19 5 views
0

質問が奇妙に聞こえたら私を許してください。私は、次のオブジェクトがあるとします。ng-repeatソースから別のキーを呼び出す方法

// For example purposes, pretend that link gets pushed to $scope.links 5 times. 
var link = { 
    name: "name", 
    description: "description", 
    members: [{ 
     memname: "member name" 
    }], 
    active: true 
} 

$scope.links.push(link); 

を...と

<li ng-repeat="item in links"> 
    <li ng-repeat = "member in item.members"> 
    ... 
    </li> 
</li> 

を次のように私は$ scope.linksを使用...とmember in item.membersと、リスト内の、私はng-showためlink.activeを使用したいです。それは可能ですか?

<li ng-repeat="member in item.members" ng-show="item.active">:よう

何か。

お知らせください。

ありがとうございます。

+1

あなたが書いた方法で、うまくいくはずです...問題は何ですか? –

+0

もちろん動作します。 'ng-repeat'は自分自身のスコープを作成し、最初のng-repeatでカスタム変数を初期化して、それを2番目のng-repeatで使用することもできます。 – krutkowski86

答えて

0

あなたのためのスニペットを作成しました。

function myCtrl($scope) { 
 
    $scope.links = [{ 
 
    'name': "name", 
 
    'description': "description", 
 
    'members': [{ 
 
     'memname': "member name" 
 
    },{ 
 
     'memname': "member name 2" 
 
    }], 
 
    'active': true 
 
},{ 
 
    'name': "name 2", 
 
    'description': "description", 
 
    'members': [{ 
 
     'memname': "member name" 
 
    },{ 
 
     'memname': "member name 2" 
 
    }], 
 
    'active': false 
 
}] 
 

 
//$scope.links.push(link); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script> 
 
<div ng-app ng-controller="myCtrl"> 
 
    <ul> 
 
     <li ng-repeat="item in links" ng-show="item.active == true"> 
 
     {{item.name}} 
 
     <ul > 
 
      <li ng-repeat = "member in item.members" > 
 
       {{member.memname}} 
 
      </li> 
 
     </ul> 
 
     </li> 
 
    </ul> 
 
</div>

これはあなたを助けることを願っています。

関連する問題