Мой сервис дает ниже json результат
{"categories":[{"category_id":"20","name":"Desktops"}, {"category_id":"18","name":"Laptops &},{"category_id":"25","name":"Components"},
{"category_id":"57","name":"Tablets"},
{"category_id":"17","name":"Software"},
{"category_id":"24","name":"Phones} ]}
это мой html-код:
<tr ng-repeat="menu in menuitems">
<td>
{{menu.name}}
</td>
в контроллере я заполняю $scope.menuitems
результатом json
Я не могу отобразить список имен в html. Если я пишу {{menu[0].name}}
я получаю одну запись. Что я делаю неправильно, что я не могу перебирать json-коллекцию.
Директива ng-repeat
работает над массивом.
Итак, в вашем случае menuitems
- это переменная, в которой вы храните ответный json-объект.
Ваша структура json показывает, что она содержит categories
объектов массива.
Поэтому, чтобы ng-repeat работал, вам необходимо передать в него menuitems.categories
.
Выражение:
<tr ng-repeat="menu in menuitems.categories">
<td>
{{menu.name}}
</td>
Он находится внутри объекта. Итак, вы должны использовать,
<tr ng-repeat="menu in menuitems.categories">
<td>
{{menu.name}}
</td>
Вы должны перебирать все объекты и отслеживать их. Я не знаю о вашем контроллере, но попробуйте добавить эту строку кода
ng-repeat="menu in menuitems track by $index