0
div要素にng-repeatを使用しています。 div要素内の画像にトグル機能があります。しかし、画像をクリックすると、関数がトリガされますが、すべてのdivに対して同じデータが表示されます。以下はコードです。AngularJS:ng-repeat内の画像にトグル機能を追加
HTML:
<div ng-repeat="item in items">
<div>
<img src="img/icon1.png" class="pull-right" ng-click="showDiv(item.itemId,$index)">
</div>
<div ng-show="hiddenDiv[$index]">
<div ng-repeat="student in studentData">
<div class="row">
<div>
<div>{{student.name}}</div>
<div>{{student.adress}}</div>
</div>
</div>
</div>
</div>
</div>
JS:
$scope.hiddenDiv=[];
$scope.showDiv=function(itemId,index) {
$scope.hiddenDiv[index] = !$scope.hiddenDiv[index];
var myResult = ListService.getList(url here);
myResult.then(function (data) {
if(data && data.list)
$scope.studentData = data.list;
});
}
ここで、IはNGリピート内のすべてのdiv内の同じスコープ変数を使用しています。
更新回答:
JS:
$scope.studentData = [];
$scope.studentData[index] = data.list;
はHTML:
感謝。私は試しましたが、** TypeError:未定義**のプロパティ '2'を読み込めません。私が画像をクリックすると。 – NNR
'$ scope.items'が定義されていますか? – jcubic
ありがとうございます。私の答えを更新しました。 – NNR