Restangular Spinner

时间:2014-06-06 18:40:13

标签: javascript angularjs restangular

app.config(function(RestangularProvider) {        
    RestangularProvider.addRequestInterceptor(function(element) {
        console.log("Request started");
        return element;
    });

    RestangularProvider.addResponseInterceptor(function(data) {
        console.log("Request returned");

        return data;
   });
});

我试图弄清楚如何在请求进行时创建微调器。我怀疑这通常是通过显示请求何时开始,并在请求完成时隐藏它来完成的。

如何使用Angular和Restangular执行此操作?我有拦截器设置如上,但这是在.conifg(),所以我无法访问$ rootScope或任何东西来跟踪任何div的可见性。

1 个答案:

答案 0 :(得分:7)

事实证明,我可以在run()块内部配置Restangular,让我可以访问$rootscope,如下所示:

app.run(function($rootScope, Restangular) {
    Restangular.addRequestInterceptor(function(element) {
        $rootScope.xhr = true;

        return element;
    });
    Restangular.addResponseInterceptor(function(data) {
        $rootScope.xhr = false;

        return data;
    });
});