【发布时间】:2013-12-26 23:46:12
【问题描述】:
我有多个 ng-repeats,它们相互依赖。
$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 的目标。如果目标与名称匹配,它将显示。 但是现在的问题是,如果 ng-if 中有匹配项,也会显示 li.foobar。
所以这可以是输出:
但它应该有唯一的 niveau 名称。 每一行的 A-G。并显示重复部分中是否存在 li.yes,它应该从重复列表中隐藏 li.foobar。
但是如何在 Angular 中实现呢?
【问题讨论】:
标签: javascript angularjs angularjs-scope angularjs-ng-repeat