2016-02-05 2 views
0

Я пытаюсь получить следующее Angular-Spinner работает в моем проекте:Угловой JS загрузки вопрос

Я пытаюсь получить его работу с http.get вызовов. До сих пор у меня есть:

в контроллерах:

$scope.loading = true; 
$http.get('js/data/test.json').success(function(results){ 
$scope.section = results.section; 
$scope.loading = false; 

}); 

По мнению:

<span us-spinner="{radius:15, width:4, length: 8}" ng-show="loading"></span> 
<div ng-repeat="post in section" class="inner"></div> 

В настоящее время загрузки показывает очень быстро, я хочу знать, это правильный путь, чтобы использовать его? Как я могу немного отложить его до того, как все данные будут загружены и будет показан счетчик. Есть идеи?

ответ

1

Вы могли бы попытаться добавить тайм-аут:

$scope.loading = true; 

setTimeout(function() { 
    $http.get('js/data/test.json').success(function(results){ 
     $scope.section = results.section; 
     $scope.loading = false; 
    } 
}, 5000); 

Это будет подождать 5 секунд, прежде чем пытаться извлечь данные из файла JSON.

EDIT: использовать услугу $ timeout от Angular. Не забудьте включить его в свой контроллер! (Спасибо Walfrat)

$timeout(function() { 
    $http.get('js/data/test.json').success(function(results){ 
     $scope.section = results.section; 
     $scope.loading = false; 
    } 
}, 5000); 
+1

еще лучше: используйте $ timeout углового. – Walfrat

+0

Конечно, задержка загрузки данных в течение 5 секунд по какой-либо реальной причине ... в лучшем случае сомнительна. – deceze

+0

@ Walfrat, как это будет работать с кодом выше. – rob