У меня есть следующий объект. Как я могу отображать только строки с вложенными значениями?
$scope.mainObj = [{
name: 'a', items : [1,2,3],
name: 'b', items : [4,5,6],
}]
<table>
<tr ng-repeat="obj in mainObj">
<td></td>
</tr>
</table>
Я хочу, чтобы мой результат был следующим:
<table>
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td>3</td>
</tr>
<tr>
<td>4</td>
</tr>
</table>
Вы можете повторить tbody
table
которая является допустимым HTML. Предполагаемые items
могут иметь объекты.
HTML
<table>
<tbody ng-repeat="obj in mainObj">
<tr ng-repeat="item in obj.items">
<td>{{item }}</td>
</tr>
</tbody>
</table>
Обновить
Исправьте структуру объекта, а также @csschapker, предложенную в комментарии.
$scope.mainObj = [{name: 'a', items:[1, 2, 3]}, {name: 'b', items: [4, 5, 6]}]
Используйте такой код:
<table>
<tr ng-repeat="obj in mainObj">
<td ng-repeat="item in obj.items track by $index">
{{item}}
</td>
</tr>
</table>
И отредактируйте исходный объект:
$scope.mainObj = [
{name: 'a', items: [1, 2, 3]},
{name: 'b', items: [4, 5, 6]}
];
$scope.mainObj
на[{name: 'a', items:[1, 2, 3]}, {name: 'b', items: [4, 5, 6]}]