Я нашел темы по этой теме на 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) способ решить этот вопрос?
Заранее спасибо.
как насчет
$scope.loading = true;
$scope.posts = Posts.query(function () {
$scope.loading = false;
});
https://github.com/chieffancypants/angular-loading-bar
Эта вещь очень хорошая, с этим u не нужно обертывать каждый запрос
просто ссылку в index.html и включить dependecy в app.js, и thats it