我正在尝试加载div以显示当我的角模块正在联系服务器时。我正在使用AngularJS 1.0.1和AngularJS Resources 1.0.1以扩展HTML和jQuery 1.7.2的功能,了解一些额外的DOM操作和Ajax支持。

我已经发现,如果我在异步运行aSync false中运行ajax调用,则不会显示加载div,除了它显示的firefox,但动画gif不会动画。

如果我在异步中运行ajax调用true,则返回的数据不会被加载到加载模板部分的角度模型变量中。

是可以获得动画的加载div以显示并获取要加载到模型的角度数据?

有帮助吗?

解决方案

希望我能正确了解你。您希望为您的AJAX请求显示加载进度。为此,您需要一个响应拦截器。以下是如何执行此操作的示例 http://jsfiddle.net/zdam/dbr2r/

// register the interceptor as a service, intercepts ALL angular ajax http calls
.factory('myHttpInterceptor', function ($q, $window, $rootScope) {
    return function (promise) {
        $rootScope.nowloading = true; // use ng-show="nowloading" on element containing spinner
        return promise.then(function (response) {
            // do something on success
            $rootScope.nowloading = false; // need to turn it off on success 
            return response;

        }, function (response) {
            // do something on error
            $rootScope.nowloading = false;  // need to turn it off on failure
            $rootScope.network_error = true;   // you might want to show an error icon.
            return $q.reject(response);
        });
    };
.

希望这有助于

- 丹

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top