У меня есть несколько повторов ng, которые зависят друг от друга.
$scope.niveaus = [
{ niveau: 'a' },
{ niveau: 'b' },
{ niveau: 'c' },
{ niveau: 'd' },
{ niveau: 'e' },
{ niveau: 'f' },
{ niveau: 'g' }
];
$http.get('/goals.json').success(function(goals) {
$scope.goals = goals;
});
Я заполняю жестко закодированные niveau A-G. В списке целей я сопоставляю имена niveaus с именами из JSON.
И выполните ng-repeat:
<ul ng-repeat="niveau in niveaus">
<li class="foobar">{{ niveau.niveau }}</li>
<div ng-repeat="goal in goals | unique:'niveau_id'">
<div ng-if="goal.niveau.name == niveau.niveau">
<li class="yes">{{ goal.niveau.name }}</li>
</div>
</div>
</ul>
Таким образом, он проверяет для каждого niveau цели. Если цель соответствует именам, она будет показана. Но проблема сейчас в том, что li.foobar тоже показывается, если есть совпадение в ng-if.
Таким образом, это может быть выход:
Но у него должны быть уникальные имена niveau. A-G для каждой строки. И показать, если li.yes есть в повторяющейся части, он должен скрыть li.foobar из списка повторов.
Но как этого добиться в Angular?
goal
часть своих данных. 26.12.2013