ngIf 用于遍历两个不同的数组

ngIf for iterating through two different Arrays

我有这段代码:

<tr ng-repeat="row in someController.searchResults" 
    ng-class="{'selected': tableRow.selected}" 
    ng-click="selectRow(tableRow)" >

在这段代码中,我遍历了 searchResults 数组。

我需要添加一个条件(想用 ngIf 来完成)。

我怎样才能做到这一点?

试试这个,

<div ng-if="Your condition(True)"> <tr ng-repeat="row in 
someController.searchResults" 
ng-class="{'selected': tableRow.selected}" 
ng-click="selectRow(tableRow)" >

<div ng-if="Your condition(False)"> <tr ng-repeat="row in 
someController.someOtherSearchResults" 
ng-class="{'selected': tableRow.selected}" 
ng-click="selectRow(tableRow)" >

希望对您有所帮助。

传递数据查看前请过滤数据

if(condition){
    this.results=searchResults;
    else{
    this.results=someOtherSearchResults;
    }

并在模板中保持简单:

   <tr ng-repeat="row in someController.results" 
        ng-class="{'selected': tableRow.selected}" 
        ng-click="selectRow(tableRow)" >

<tr ng-if="condition" ng-repeat="row in 
someController.searchResults" 
ng-class="{'selected': tableRow.selected}" 
ng-click="selectRow(tableRow)" >

<tr ng-if="!condition" ng-repeat="row in 
someController.someOtherSearchResults" 
ng-class="{'selected': tableRow.selected}" 
ng-click="selectRow(tableRow)" >

您可以在 ng-repeat 属性中使用纯 javascript,如下所示:

<tr ng-repeat="row in (someController.importantBoolean ? someController.searchResults : someController.someOtherSearchResults)" 
        ng-class="{'selected': row.selected}" 
        ng-click="selectRow(row)" >
</tr>

请参阅以下 plunker 示例:https://plnkr.co/edit/Nxh9gVB9GDP5FaLVDGrS