AngularJS:REST 后绑定变量的延迟

AngularJS: Latency to binding variable after REST

我有一个 REST 服务,我的想法是使用一个变量来指示 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> 

{{loading}} 的结果是立即的,但 "data-ng-hide" 需要几秒钟才能隐藏它。我不明白发生了什么以及如何解决这个问题。

有什么想法吗?谢谢!

我认为问题出在与 ng-hide 相同的标签中的 Font Awesome...

这个有效:

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

正如 Aral 所建议的,Awesome 字体可能是一个可行的问题。如果您想延迟加载并因此等待所有组件加载,您也可以使用 ng-clock (https://docs.angularjs.org/api/ng/directive/ngCloak)。希望这可以帮助。干杯