我希望在Angularjs中通过$http
请求从我的服务器获取数据,并且只有在promise
获得resolved
后才能使用ng-repeat
循环数据。
我有SPA
(单页应用)没有$routeProvider
(只有简单的标签)。
如何在ng-repeat
开始之前加载数据?
答案 0 :(得分:1)
你可以使用ng-if =" items.length"在填充数据之前限制ng-repeat运行。
<div ng-if="items.length">
<div ng-repeat="item in items">
</div>
</div>
答案 1 :(得分:1)
我想使用ng-show
会更好,因为它不会导致dom在实际获取数据时重新渲染。至于代码,它几乎与Gokul的答案相同,只需将ng-if
替换为ng-show
即可。
此外,不需要添加另一个变量来隐藏/显示。如果expression
导致假值,则该元素将被隐藏。
---编辑---
另一种方法是通过路由器解决价值。这样,只有在解析http promise后才会加载视图。