我有一个从服务器获取json并将其附加到列表的示例。如何等到ng-repeat完成循环?
脚本:
$http.get('/data/json/cities.json').then(function (res) {
if (res.status === 200) {
$scope.cities = res.data;
}
});
HTML:
<li ng-repeat="(id, name) in cities" id="{{id}}">
<a href="#" ng-bind="name"></a>
</li>
在那里我卡住代码:
if (res.status === 200) {
$scope.cities = res.data;
// from here
console.log($('li#NY').length); // 0
// waiting 1 second and try again
setTimeout(function() {
console.log($('li#NY').length); // 1
}, 1000);
}
JSON对象包含密钥NY
但我只能分配给1秒(或1秒)后的对象(li
标签id为NY
) onger)。
是否有另一种方法来知道什么时候对象(在这种情况下为$('li#NY')
)已经创建成功,而不使用setTimeout
?
什么是你想要做什么呢?代码中不清楚为什么你需要这些信息。 – Karim
尝试使用'ng-repeat-end'指令 –
@Karim什么不清楚?该列表包含'$('li#NY')'对象,并且该对象将在获取json之后创建。但是当我得到json时,我只能在1秒后分配给对象。 – Vayne