Как отобразить ng-repeat вложенные значения

0

У меня есть следующий объект. Как я могу отображать только строки с вложенными значениями?

$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>
  • 0
    Каковы «вложенные значения»?
  • 2
    Похоже, вам нужно изменить $scope.mainObj на [{name: 'a', items:[1, 2, 3]}, {name: 'b', items: [4, 5, 6]}]
Теги:

2 ответа

3
Лучший ответ

Вы можете повторить 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]}]
  • 0
    что если у меня есть предметы без предметов?
  • 0
    @KingKongFrog Не могли бы вы рассказать, что вы говорите?
Показать ещё 1 комментарий
0

Используйте такой код:

<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]}
];
  • 0
    Это не дает мне в каждой строке.
  • 0
    попробуйте добавить трек по $ index - я обновил код в ответе

Ещё вопросы

Сообщество Overcoder
Наверх
Меню