2014-09-24 3 views
2

У меня есть следующий провайдер в моем app.js главного файла:Минимизировать зависимости в AngularJS провайдера

.provider('securityInterceptor', function() { 
     this.$get = function($location, $q) { 
      return function(promise) { 
       return promise.then(null, function(response) { 
        if(response.status === 403 || response.status === 401) { 
         $location.path('/unauthorized'); 
        } 
        return $q.reject(response); 
       }); 
      }; 
     }; 
    }) 

Но, как представляется, проблема, когда Минимизация этого. Я узнал, что это из-за $ location и $ q. Как я могу безопасно вводить эти функции? Используя что-то вроде следующего не помогает (на самом деле это не применимо):

this.$get = function(['$location', '$q'], $location, $q) { 
    ... 
} 

или

.provider('securityInterceptor', ['$location', '$q', function ($location, $q)... ] 

Как можно безопасно вводить эти зависимости? Я использую BundleConfig для ASP.NET MVC.

ответ

2

Используйте этот вариант:

this.$get = ['$location', '$q', function($location, $q) { 
    ... 
}]; 

Смотреть подробнее здесь: https://docs.angularjs.org/guide/providers

+0

Спасибо, это решило проблему. Думаю, это была единственная комбинация, которую я не пробовал. :) –

Смежные вопросы