2016-12-02 2 views
1

У меня есть таблица, и мне нужно отображать значения в таблице из моего ответа JSON. Но я не могу получить данные внутри массива. Где-то я чего-то не хватает.Обработка массивов в ng-repeat

JSON:

var jobs = [ 
    {"id":1,"title":"Need comedian","company":"AMS","description":"Need comedian"},   
    {"id":2,"title":"Need Actor","company":"ERS","description":"Actor for Romantic Movie"} 
] 

HTML:

<tr ng-repeat ="item in jobs"> 
    <td>{{item.jobs.title}}</td> 
    <td>{{item.jobs.description}}</td> 
</tr> 
+0

Если 'jobs' это один вы выставляете на' нг-repeat' нужно просто '{{item.title }} 'например – taguenizy

ответ

3

Вы должны использовать $ объема:

$scope.jobs = [{"id":1,"title":"Need comedian","company":"AMS","description":"Need comedian"},{"id":2,"title":"Need Actor","company":"ERS","description":"Actor for Romantic Movie"}] 

<tr ng-repeat ="item in jobs"> 
    <td>{{item.title}}</td> 
    <td>{{item.description}}</td> 
</tr> 

Надеется, что это помогает =)

+0

oops да, это действительно странная ошибка, которую я сделал. спасибо –

+0

@Nicoleta Wilskon Я думаю, вы должны отметить этот ответ как принятый – davidivad

0

Есть два вопроса,

(я) Вы должны использовать $scope переменная

(б) Вы должны получить доступ к item.title не item.jobs.title внутри ng-repeat

Вы должны получить доступ пункт

<tr ng-repeat="item in jobs"> 
<td>{{item.title}}</td> 
<td>{{item.description}}</td> 
</tr> 

DEMO

0

Массив заданий должен находиться в $ scope.

$scope.jobs = [{"id":1,"title":"Need comedian","company":"AMS","description":"Need comedian"},{"id":2,"title":"Need Actor","company":"ERS","description":"Actor for Romantic Movie"}] 

<tr ng-repeat ="item in jobs"> 
    <td>{{item.title}}</td> 
    <td>{{item.description}}</td> 
</tr> 
0

Держите эти вещи в виду, играя с ng-repeat:

  • Вы должны использовать $scope.jobs объект вместо var jobs в объявлении массива в контроллере, который вы собираетесь пройти в ng-repeat для связывание.
  • Когда вы собираетесь перебирать массив внутри ng-repeat="item in jobs", вам не нужно использовать повторно jobs для доступа к собственности objects(item) of an array(jobs).

Рабочая Демо:

var app = angular.module('myApp',[]); 
 

 
app.controller('myCtrl',function($scope) { 
 
    $scope.jobs = [ 
 
    { 
 
     "id":1, 
 
     "title":"Need comedian", 
 
     "company":"AMS", 
 
     "description":"Need comedian" 
 
    },   
 
    { 
 
     "id":2, 
 
     "title":"Need Actor", 
 
     "company":"ERS", 
 
     "description":"Actor for Romantic Movie" 
 
    } 
 
]; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="myCtrl"> 
 
    <table> 
 
     <tr ng-repeat ="item in jobs"> 
 
      <td>{{item.title}}</td> 
 
      <td>{{item.description}}</td> 
 
     </tr> 
 
    </table> 
 
</div>

Смежные вопросы