ng-repeat не загружает мой массив объектов - PullRequest
0 голосов
/ 22 июня 2019

У меня есть функция, которая возвращает несколько jsons через запросы на отдых, и данные этих jsons сохраняются в массиве.

Затем этот массив помещается в $ scope и использует его в ng-repeat, ноне работает.

// JS

async function exec_q(access_token, start_date,end_date,programa_gql){
   var people = [];
...requests and filling the array...
   people.push({
      "atrib1": res.1 === null ? '' : res.1,
      "atrib2": res.2 === null ? '' : res.2
   }
   return people
}

people = await exec_q(access_token, start_date,end_date,programa_gql)
$scope.people = people

// HTML

<tbody id="table_apd_body">
   <tr ng-repeat="p in people">
      <th>{{{$index + 1}}</th>
      <th>{{p.atrib1}}</th>
      <th>{{p.atrib2}}</th>
   </tr>
</tbody>

Obs :.функция, вызывающая приведенный выше код, также асинхронна, чтобы заставить работать ожидание.

Ответы [ 2 ]

3 голосов
/ 22 июня 2019

Обещания ES6, используемые async / await, не интегрированы с платформой AngularJS и ее циклом дайджеста.

people = await exec_q(access_token, start_date,end_date,programa_gql)
$scope.people = people

$scope.$apply();

Используйте $apply для интеграции $scope изменений.

0 голосов
/ 24 июня 2019

// Удалить лишние {in {{$ index + 1}}

<tbody id="table_apd_body">
   <tr ng-repeat="p in people">
      <th>{{$index + 1}}</th>
      <th>{{p.atrib1}}</th>
      <th>{{p.atrib2}}</th>
   </tr>
</tbody>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...