2017-02-07 9 views
0

Мой вопрос - я думаю - довольно простой.AngularJS - Вставьте ng-repeat в другой между двумя TR

У меня есть стол, классический. В этой таблице я хочу отобразить значения двух массивов с именем сетей и каналов.

Каждая сеть в сетях может содержать каналы но не все.

То, что я хочу, чтобы отобразить все сети и связанные с ними каналами.

В DIV или TD в TR это простой, но я не могу сделать это с несколькими TR.

Пример:

<tr ng-repeat="network in networks"> 
    <td>{{network.Name}}</td> 
    <td ng-repeat="channel in channels | filter: { networkId: network.networkId}">{{channel.Name}}</td> 
</tr> 

работает как шарм!

Но я ищу вещи, как это:

<tr ng-repeat="network in networks"> 
    <td>{{network.Name}}</td> 
    <td ng-repeat="month in year">{{month.Name}}</td> 
</tr> 
<tr ng-repeat="channel in channels | filter: { networkId: network.networkId}"> 
    <td>{{channel.Name}}</td> 
    <td ng-repeat="month in year">{{month.Name}}</td> 
</tr> 

Но я знаю, что это не хороший код, чтобы сделать это :)

Кто-то знает, как это сделать? Я не хочу, чтобы изменить TABLE по DIV.

С уважением!

ответ

0

Каждый ng-repeat имеет свой собственный объем, поэтому ваша сеть недоступна на втором повторе TR.

Если вы действительно хотите придерживаться таблиц, вы можете создать таблицу внутри вашего тра так:

<tr ng-repeat="network in networks"> 
    <td>{{network.Name}}</td> 
    <td ng-repeat="month in year">{{month.Name}}</td> 
    <td>    
     <table> 
      <tr ng-repeat="channel in channels | filter: { networkId: network.networkId}"> 
       <td>{{channel.Name}}</td> 
      </tr> 
     </table> 
    </td> 
</tr> 
+0

Спасибо за ответ. – NivekLR

+0

Я не могу использовать _ ** Таблица ** _ в ** TR **, потому что отображаются другие ** TD **. Полный код строки: ' {{network.Name}} {{month.Name}}< tr ng-repeat = "channel in channels | filter: {NetworkId: network.NetworkId}"> {{channel.Name}} {{month.Name}} ' – NivekLR

+0

код не читается в комментарии, не могли бы вы обновить свой вопрос[email protected] – Yaser