在我的Angular JS网站中,我有很多模块和很多资源(从那里我可以使用Rest API)
我想向每个模块中的所有传出请求添加自定义标头。
例如:这是2个模块:通用和ABC
//---File 1 common.js
angular.module("common",[])
.config(['$httpProvider',
function($httpProvider)
{
$httpProvider.defaults.headers.common['x-access-token'] =
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJOYW1lIjoiQWJkdWwiLCJpYXQiOjE0NjUwMzkwMzgsImV4cCI6MTQ2NTEyNTQzOH0.6BMBuEl2dbL736qUqNYXG29UBn_HRyCyWEmMXSG3euE';
}
])
.service("commonApi",['$resource',
function($resource)
{
this.getBankList = function()
{
return $resource('api/emi/banklist:quoteId', { },{}).query();
}
}]);
//---File 2 abc.js
angular.module("abc",[])
.config(['$httpProvider',
function($httpProvider)
{
$httpProvider.defaults.headers.common['x-access-token'] =
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJOYW1lIjoiQWJkdWwiLCJpYXQiOjE0NjUwMzkwMzgsImV4cCI6MTQ2NTEyNTQzOH0.6BMBuEl2dbL736qUqNYXG29UBn_HRyCyWEmMXSG3euE';
}
])
.factory('emiModel', ['$resource',
function($resource) {
return $resource('api/emi/QuoteList:quoteId', { }, {
update: { method: 'PUT' }
});
}])
在上面的代码中,我必须将.config添加到每个模块并在其中添加标头。
在每个模块中添加它非常耗时,并且违反了DRY原理。
有什么简单的方法可以将此配置添加到我的应用程序中的所有模块,而无需重复代码?
对于Carity:我使用factory&service只是为了表明我可能正在使用任何东西,但我仍然希望将标头传递给我。
在上面的代码中,我必须将.config添加到每个模块并在其中添加标头。
在每个模块中添加它非常耗时,并且违反了DRY原理。
这不是真的 加载模块后,Angular不会在它们之间产生任何影响。
config
块会影响应用程序中已common
加载模块的每个模块。也就是说$http
,config
在此设置中,所有通话都会受到影响:
angular.module("app",["abc", "common"])...
angular.module("abc",[])...
尽管也建议common
在依赖的每个子模块中加载模块config
。因此,当它们分开装入时app
(例如,在规格中),它们不会破裂。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句