2015-09-11 32 views
0

我得到這個HTML:迭代的角度表達

<tr data-ng-repeat="report in reportSummary"> 
    <td class="reports-list-table-column-device-category" 
     data-ng-if="report.deviceCategory.length !== 1"> 
     <button popover="{{report.deviceCategory[0].name}}" 
     popover-title="Multi-category" type="button" class="btn btn-default"> 
      Multi-category 
      </button> 
    </td> 
</tr> 

,我想通過report.deviceCategory []在酥料餅的迭代。我怎樣才能在HTML中?

任何人提供減號,證明它。

+0

一個更NG-重複? ng-repeat =「report.deviceCategory中的項」 –

+1

我想迭代我的popover。你能更清楚地指出你的想法嗎? – Treck

回答

0

只使用$index

report.deviceCategory[$index].name 

更新:你可以做ng-repeatng-repeat

<tr data-ng-repeat="report in reportSummary"> 
    <td class="reports-list-table-column-device-category" 
      data-ng-if="report.deviceCategory.length !== 1"> 
     <ul> 
      <li ng-repeat="device in report.deviceCategory"> 
       <button popover="{{device.name}}" 
      popover-title="Multi-category" type="button" class="btn btn-default"> 
       Multi-category 
       </button> 
      </li> 
     </ul> 
    </td> 
</tr> 
+0

不,$ index會給我只有ng-repeat索引,而我需要的是另一個索引(從0到deviceCategory [n] .length)。 – Treck

+0

然後你可以在ng-repeat中做ng-repeat。 – maddygoround

+0

這使得多個按鈕......並不是我所需要的。我想在我的popover =「...」中迭代數組deviceCategory。 – Treck

0

如果你的酥料餅允許模板,試試這個(由STEVER提及):

<tr data-ng-repeat="report in reportSummary"> 
 
    <td class="reports-list-table-column-device-category" data-ng-if="report.deviceCategory.length !== 1"> 
 
     <button popover-template="template.html" popover-title="Multi-category" type="button" class="btn btn-default"> 
 
      Multi-category 
 
     </button> 
 
    </td> 
 
</tr> 
 

 
<script type="text/ng-template" id="template.html"> 
 
    <ul> 
 
     <li data-ng-repeat="item in report.deviceCategory">{{item}}</li> 
 
    </ul> 
 
</script>

+0

沒有幫助,創建多個按鈕... – Treck

1

您可以嘗試使用自定義過濾器。 <button popover="report.deviceCategory | customFilter">

您的過濾器將收到deviceCategory數組,在過濾器內部只需將您的字符串放在一起並返回即可。這樣你可以避免第二次重複和重複按鈕。

Angular Filters

angular.module('filters.module',[]) 
    .filter('customeFltr',function(){ 
    return function(input){ 
     _len = input.length; 
     _output = ''; 
     for(var i=0;i<_len;i++) 
     _output += input[i].name + ', '; 
     _output = _output.substring(0,(_output.length - 2)); 
     return _output 
    } 
    }); // end filter/module