AngularJS - Как отобразить сообщение «Загрузка…» во время загрузки контента?

0

Я нашел темы по этой теме на 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

Когда страница загружается, данные из БД не отображаются сразу. Как отобразить там сообщение 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

как насчет

$scope.loading = true;
$scope.posts = Posts.query(function ()  {
    $scope.loading = false;
});
0

https://github.com/chieffancypants/angular-loading-bar

Эта вещь очень хорошая, с этим u не нужно обертывать каждый запрос

просто ссылку в index.html и включить dependecy в app.js, и thats it

Ещё вопросы

Сообщество Overcoder
Наверх
Меню