AngularJS - 如何在加载内容时显示消息“正在加载...”?

时间:2015-10-27 15:19:39

标签: javascript angularjs

我在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)吗?

提前谢谢。

2 个答案:

答案 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就可以了