私は学生で、自分のプロジェクトで angularJS を学んでいます。ばかげた質問については、ご容赦ください。
ng-repeat [ListChallengesICreated.challenges の myChallenge] を使用して一連の課題を反復しようとしています。その間、各課題で、別の関数を呼び出してバッジ ID の配列を渡そうとしています。これは、その特定の課題に属するバッジ URL の配列を返します。ng-repeat を使用して、そのバッジ URL を反復処理する必要もあります。 [filtered_badges のバッジ] 同様に、各課題に沿ってバッジを表示します。
ただし、2 番目の ng-repeat は、最初の ng-repeat が完了した後にのみ実行されます。そのため、すべてのチャレンジで、それぞれのバッジではなく、同じバッジの写真が表示されます。最初の実行中に 2 番目の ng-repeat を同時に実行する方法はありますか?
HTML コード:
<table class="table table-condensed" style="border-style:solid; border-color:blue;width:100%" ng-init="list_challenges_I_created();">
<tr **ng-repeat="myChallenge in ListChallengesICreated.challenges" ** ng-init="get_badge(myChallenge.unlockRequiredBadges)">
<td class="cMName">{{myChallenge.name}}</td>
<td class="cMLocation" **ng-repeat="badge in filtered_badges" **>
<input type="image" ng-src="{{badge.imageURL}}" />
</td>
<td class="cMSDate">{{myChallenge.startDate}}</td>
<td class="cMEDate">{{myChallenge.endDate}}</td>
<td class="cMReview">
<div class="btn-group">
<button class="btn btn-warning" a data-target="#statsModal" role="button" data-toggle="modal">Stats</button>
<button class="btn btn-danger" a data-target="#tab2create">Edit</button>
</div>
</td>
<td class="cMPublish">nmfv</td>
<td class="cMShare">nmfnvm</td>
</tr>
</table>
JS ファイル (バッジを返す)
$scope.get_badge = function (allRequiredBadges) {
var path_badges = [];
var get_all_badges = {};
var all_badges = {};
var all_badges_URL = [];
$scope.filtered_badges = {};
path_badges = allRequiredBadges;
get_all_badges = $resource('/jsonapi/all_badges');
get_all_badges.get({}, function (response) {
all_badges = response;
for (var j = 0; j < path_badges.length; j++) {
for (var i = 0; i < all_badges.badges.length; i++) {
if (all_badges.badges[i].id == path_badges[j]) {
all_badges_URL.push(all_badges.badges[i]);
}
}
}
$scope.filtered_badges = all_badges_URL;
})
}