2015-04-13 2 views
0

У меня есть служба REST, и моя идея - использовать переменную, которая указывает, загружается ли служба REST или нет.AngularJS: Задержка привязки переменной после REST

Контроллер

$scope.loading = true; 

    $http.get('/Something'). 
      success(function(data, status, headers, config) { 
       $scope.loading = false; 
       //Something 
      }). 
      error(function(data, status, headers, config) { 
       //Something 
      }); 

Посмотреть

{{loading}} 

    //Font Awesome loading icon 
    <div data-ng-hide="!loading" class="fa fa-spinner fa-spin fa-2x"></div> 

Результат {{нагрузка}} немедленно, но "данные-нг-шкура" занимает несколько секунд больше скрыть. Я не понимаю, что происходит и как решить эту проблему.

Любая идея? Благодаря!

+0

У вас есть анимация, созданная для ng-hide? см. https://docs.angularjs.org/api/ng/directive/ngСкрыть. Может быть, какая-то скрытая анимация занимает несколько секунд, прежде чем на самом деле скрыть ваш компонент загрузки? –

+0

oooh! Благодарю. У меня нет анимации, но я просто пробовал это после вашего комментария и работает:

Я думаю, проблема в шрифте Awesome в том же теге для ng-hide –

ответ

0

Я думаю, что проблема для шрифта Потрясающие в том же теге нг-шкурой ...

Это работает:

 <div data-ng-hide="!loading" > 
     <span class="fa fa-spinner fa-spin fa-2x"></span> 
    </div> 
0

Как предложено Аральское шрифт Потрясающие может быть жизнеспособным вопрос. Также вы можете использовать ng-clock (https://docs.angularjs.org/api/ng/directive/ngCloak), если хотите отложить загрузку и, следовательно, дождаться загрузки всех компонентов. Надеюсь это поможет. Cheers

Смежные вопросы