我在SO上发现了关于这个主题的线索,但看起来我加载数据的方式并不是最好的。
这就是控制器的样子:
app.controller("PostsCtrl", ['$scope', '$http', '$resource', 'Posts', 'Post', '$location', '$modal', '$timeout', function($scope, $http, $resource, Posts, Post, $location, $modal, $timeout) {
$scope.posts = Posts.query();
... some add/edit/delete code
加载页面时,不会立即显示来自DB的数据。如何在那里显示loading...
消息?
我尝试在视图中使用<div ng-if="loading">loading...</div>
和
$scope.loading = true;
$scope.posts = Posts.query();
$scope.loading = false;
在AngularJS控制器中,但这似乎不起作用。
我还注意到每次调用控制器时都会执行$scope.posts = Posts.query();
。
这是解决这个问题的好方法(或AngularJS)吗?
提前谢谢。
答案 0 :(得分:0)
怎么样
$scope.loading = true;
$scope.posts = Posts.query(function () {
$scope.loading = false;
});
答案 1 :(得分:0)
https://github.com/chieffancypants/angular-loading-bar
这件事非常好,你不需要包装每一个请求
只需在index.html中链接,并在app.js中包含dependecy就可以了