recherche

Maison  >  Questions et réponses  >  le corps du texte

angular.js - Angular的Interceptor怎么配置到项目所有的module中?

//依赖的业务模块
var SERVICE_DEPENDENCIES = ['module1','module2'];
//依赖的公共组件模块
var COMMON_DEPENDENCIES = ['ui.router','ngCookies','ngAnimate','toastr'];
//声明主模块:并合并和引入相关模块
var mainApp = angular.module('mainApp', COMMON_DEPENDENCIES.concat(SERVICE_DEPENDENCIES));

//主模块配置
mainApp.config(['$httpProvider',function($httpProvider){
  //为http添加过滤器
  $httpProvider.interceptors.push('myHttpInterceptor');
}]);

//过滤器定义
mainApp.factory('myHttpInterceptor',function($q){
  return {
    'response' : function(_response){
      if(_response.data.errorCode == 1){
        console.info("myHttpInterceptor response:" + JSON.stringify(_response));    
      }
      return _response;
    }
  }
});
为情所困为情所困2743 Il y a quelques jours615

répondre à tous(1)je répondrai

  • 黄舟

    黄舟2017-05-15 17:15:04

    Merci pour l'invitation.

    Il est donc clair que le $httpProvider défini par le mainApp principal est également applicable aux autres sous-modules dont vous dépendez. mainApp 定义的 $httpProvider 对你所依赖的其他子模块下同样适用

    你的代码看起来没有什么任何问题,但我们项目中的确是不同模块中是相适用主模块的。唯一不同的好像在模块名上面。

    像我们模块名都是这样的命名规则:

    • 主模块 ent

    • 业务模块 ent.user

      Il ne semble pas y avoir de problème avec votre code, mais dans notre projet, il est vrai que différents modules utilisent le même module principal. La seule différence semble être le nom du module.
    Nos noms de modules suivent tous cette règle de dénomination :

    • Module principal ent. 🎜🎜
    • 🎜Module métier ent.user. 🎜🎜 🎜 🎜De même, je ne sais pas si c'est la raison ! 🎜

      répondre
      0
  • Annulerrépondre