2015-07-08 5 views

ответ

6

Я пробую что-то и работаю.

1) Стоп автоблок

app.config(["$routeProvider", "blockUIConfig", function ($routeProvider, blockUIConfig) { 
    blockUIConfig.autoBlock = false; 
}]); 

2) Создание перехватчик

app.config(["$httpProvider", function ($httpProvider) { 
    $httpProvider.interceptors.push('myInterceptorService'); 
}]); 
app.factory('myInterceptorService', ['$q', '$injector','blockUI', 
    function ($q, $injector, blockUI) { 

     var myInterceptorServiceFactory = {}; 

     myInterceptorServiceFactory.request = function (config) { 
      if (blockUI.noOpen == null) { 
      blockUI.stop(); 
     } else { 
      blockUI.noOpen = null; 
     } 
      return config; 
     } 
     myInterceptorServiceFactory.responseError = function (rejection) { 
      return $q.reject(rejection); 
     } 
     myInterceptorServiceFactory.response = function (response) { 
      if (blockUI.noOpen == null) { 
      blockUI.stop(); 
     } else { 
      blockUI.noOpen = null; 
     } 
      return response || $q.when(response); 
     } 

     return myInterceptorServiceFactory; 
    } 
]); 

3) Предупреждение в контроллере

$scope.getTags = function ($query) { 
      blockUI.noOpen = true; 
      return blogService.getTags($query) 
     }; 
+0

Я думаю, что вы сделали опечатку: первый 'if (blockUI.noOpen == null)' не должен быть 'if (blockUI.noOpen == true)'? –

0

с модулем McNull AngularJS Блок пользовательского интерфейса ... Вы можете отфильтровать конкретный запрос, используя функцию blockUIConfig.requestFilter ...

angular.module('yourAppModule').config(["blockUIConfig", function (blockUIConfig) { 
    blockUIConfig.requestFilter = function (config) { 
    //Perform a global, case-insensitive search on the request url for 'noblockui' ... 
    if (config.url.match(/noblockui/gi)) { 
     return false; // ... don't block it. 
    } 
};}]); 

по конкретному запросу добавьте следующую строку в URL ...

url = backendAddress + "/?noblockui"; 
return $http.get(url); 
Смежные вопросы