AngularJS如何在$ http请求期间显示微调器

时间:2016-08-11 14:53:22

标签: angularjs loading angularjs-http

当我第一次启动应用程序时,在登录后,我向服务器发出一个http请求,并在服务器完成任务时等待几秒钟响应。在我等待的时候,我可以点击一些链接并走过应用程序。我想禁用它并在所有页面上加载一些gif,但我不知道该怎么做。

我的控制器:

while True:
    choice = int(input("Please enter your choice\n"))
    if choice==1:
        empno = input("Enter employee number: ")
        if empno in dicemp:
            print("employee already exists in the database")
            continue
        print("Hello")

我的服务

vm.starting = starting;    
function starting() {
    dataService.restartVersion().then(function (data) {

    });
}

如何在我的代码中实现某些内容以显示在所有页面上加载gif?

有帮助吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

在控制器中,设置并重置标志。

function starting() {
    vm.starting = true;
    dataService.restartVersion()
      .then(function onSuccess(data) {
        vm.data = data;
    }).catch(function onReject(errorResponse) {
        console.log(errorResponse.status);
    }).finally(function() {
        vm.starting = false;
    });
};

在HTML中,使用标志:

<div ng-show="vm.starting">
    <img ng-src="spinnerURL" />
</div>

<div ng-hide="vm.starting">
    <p>{{vm.data}}</p>
</div>

XHR启动时vm.starting设置为true,XHR完成时设置为--js path/to/closure/**.js