如何使用ng-if和tr-tag以及ng-repeat?

时间:2015-09-08 09:59:37

标签: angularjs angularjs-ng-repeat angularjs-ng-if

有人可以帮我这个吗?以下是我的代码和问题解释。

<table>
 <thead>
   <tr>
     <th>Icon</th>
     <th>Name</th>
     <th>Details</th>
   </tr>
 </thead>

 <tbody ng-repeat="category in editor.categories">
    <tr>
      <th>{{category.categoryName}}</th>
    </tr>
    <tr ng-repeat="feature in category.features"> // Question?
       <td>{{feature.iconImg}}</td>
       <td>{{feature.featureName}}</td>
       <td>{{feature.details}}</td>
     </tr>
     <tr ng-if="feature.id==1"> // condition 1
     </tr>
     <tr ng-if="feature.id==2"> // condition 2
     </tr>
  </tbody>
</table>

现在,让我解释一下这个问题。我有一组类别。每个类别都作为一组功能。

现在我的问题是,如何根据ng-if条件显示每个类别的这些功能。即,条件1中的<tr>应仅在feature.id==1时显示,同样适用于条件2,仅在feature.id==2时显示。

Q值。如何根据不同的条件包含我的ng-if条件?

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

检查ng-switch和ng-switch-when

https://docs.angularjs.org/api/ng/directive/ngSwitch

此致

答案 1 :(得分:2)

在一个标签中同时使用ng-if和ng-repeat:

<tr ng-repeat="feature in features"
    ng-if="feature.id === 1" >
</tr>

或者,如果您想要有条件地显示某些模板,可以使用ng-switch,例如:

<tr
    ng-repeat="feature in features"
    ng-switch="feature.id" >
    <span ng-switch-when="1"></span>
    <span ng-switch-when="2"></span>
</tr>