2014-09-27 4 views
1

Я использую плагин Angular Filter для группировки tr в таблице. Текущая структура нижеИспользование ng-repeat с модулем углового фильтра

<tbody> 
     <tr ng-repeat="row in data |groupBy: 'row' | orderBy : 'row'"> 
     <td ng-repeat="person in row">{{person.row}}.{{person.name}}</td>  
     </tr> 
</tbody> 

Я пытаюсь добавить 2 ТД в тр ниже

<tbody> 
     <tr ng-repeat="row in data |groupBy: 'row' | orderBy : 'row'"> 
     <td ng-repeat="person in row"><span>{{person.name}}</span></td> 
     <td colspan="{{person.colspan}}" ng-repeat="person in row"><input type="text" /></td>  
     </tr> 
</tbody> 

Но тд с пролетами добавляют первый и затем добавляют ТД с полями ввода, которое не является что я хочу

Plnkr: http://plnkr.co/edit/GaW4XsAwlDkFs61VXkOl?p=preview

ответ

1

documentation of ngRepeat говорит:

Чтобы повторить ряд элементов вместо одного родительского элемента, ngRepeat (а также другие директивы ng) поддерживает расширение диапазона ретранслятора путем определения явных начальных и конечных точек с помощью ng-repeat-start и ng -repeat-end соответственно. Директива ng-repeat-start работает так же, как и ng-repeat, но будет повторять весь HTML-код (включая тег, который он определен) до и включая конечный тег HTML, где размещен конец ng-repeat-end.

Так что вы хотите

<td ng-repeat-start="person in row"><span>{{person.name}}</span></td> 
<td colspan="{{person.colspan}}" ng-repeat-end><input type="text" /></td> 
Смежные вопросы