如何在AngularJS的循环中处理if语句?

时间:2014-04-25 21:49:15

标签: javascript angularjs if-statement

我有这2个循环

    <ion-list>
      <ion-item ng-repeat="category in categories" href="#">
        {{category.name}} {{category.id}}
          <ion-item ng-repeat="test in tests" href="#">
              {{test.name}} {{test.cat_id}}
          </ion-item>
      </ion-item>
    </ion-list>

我想测试if(category.id === test.cat_id)然后显示第二个列表

我不确定是否以及如何使用ngif,或者我是否应该在控制器中处理此问题并返回已根据我的需要格式化的一个对象..

任何想法?

2 个答案:

答案 0 :(得分:2)

如果我理解正确,您希望有条件地显示第二个ng-repeat。如果是这种情况,那么你可以使用它:

<ion-list>
  <ion-item ng-repeat="category in categories" href="#">
    {{category.name}} {{category.id}}
      <ion-item ng-repeat="test in tests" href="#" ng-if="category.id === test.cat_id">
          {{test.name}} {{test.cat_id}}
      </ion-item>
  </ion-item>
</ion-list>

另一个选择是使用这样的过滤器:

<ion-list>
  <ion-item ng-repeat="category in categories" href="#">
    {{category.name}} {{category.id}}
      <ion-item ng-repeat="test in tests | filter: {cat_id: category.id}" href="#" ng-if="category.id === test.cat_id">
          {{test.name}} {{test.cat_id}}
      </ion-item>
  </ion-item>
</ion-list>

我实际上会推荐过滤选项。

答案 1 :(得分:0)

这样的事情怎么样?

<ion-list>
  <ion-item ng-repeat="category in categories" href="#">
    {{category.name}} {{category.id}}
      <ion-item ng-repeat="test in tests | filter:{cat_id: category.id}" href="#">
          {{test.name}} {{test.cat_id}}
      </ion-item>
  </ion-item>
</ion-list>