我有一个函数,它通过rest请求返回几个json,这些json的数据存储在一个数组中。
然后将此数组放入$ 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:调用上面代码的函数也是异步的,以使等待工作正常。
答案 0 :(得分:3)
async
/ await
使用的ES6承诺未与AngularJS框架及其摘要周期集成。
people = await exec_q(access_token, start_date,end_date,programa_gql)
$scope.people = people
$scope.$apply();
使用$apply
集成$scope
更改。
答案 1 :(得分:0)
///删除额外的{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>