【发布时间】:2017-04-30 14:54:02
【问题描述】:
所以我有一系列活动,每个活动都有团队参与。这两个对象是相关的,但都不是另一个对象的属性。
我想要做的是循环遍历每个事件并显示参与其中的每个团队。我尝试使用嵌套的 ng-repeats 来做到这一点。我的问题是内部 ng-repeat 仅在外部 ng-repeat 完成执行后才显示。这意味着所有参与处理的最后一个事件的团队都将显示在每个表格中。
在我的控制器中,我有一个团队数组,每次收到新事件时我都会更新该数组,并且每个数组都有一个
这是我的重复表
<div ng-repeat="event in events" ng-init="getTeams(event.eventId)">
<div class="active title">Teams in {{event.eventName}} #{{event.eventId}}</div>
<table>
<thead>
<tr>
<th>Name</th>
<th>Sport</th>
<th>Motto</th>
<th>W-L-D</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="team in teams">
<td>{{team.teamName}}</td>
<td>{{team.teamSport}}</td>
<td>{{team.teamMotto}}</td>
<td>{{team.win}}- {{team.lose}} - {{team.draw}}</td>
<td>{{team.teamDescription}}</td>
</tr>
</tbody>
</table>
</div>
这是我的控制器
(function(){
angular
.module('foo')
.controller('EventController', function ($scope, $location, EventService) {
$scope.events = [];
$scope.targetEvent = {};
$scope.teams = [];
EventService.getEvents()
.then(function(events){
$scope.events = events;
});
$scope.getTeams = function(currEventId){
EventService.getTeams(currEventId)
.then(function(eventTeams) {
$scope.teams = eventTeams;
})
}
})()
我曾尝试使用 track by,但通过 eventId 或 teamId 进行跟踪似乎不起作用。提前感谢您的帮助
【问题讨论】:
标签: javascript html angularjs arrays