设置角$资源配置在全球范围内 [英] Setting Angular $resource Config Globally
本文介绍了设置角$资源配置在全球范围内的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
,我怎么能设置 $资源
超时和全球头?我公司拥有一批 $资源
像定义以下但我preFER不重复的基本配置为每个。
角
.module('myApp.services')
.factory('myServices',myServices);。myServices $注射='$资源'];功能myServices($资源){
返回{
serviceA:$资源('/ API / serviceA',{
serviceA_paramA:@serviceA_valueA',
serviceA_paramB:@serviceA_valueB
},{
'得到':{
方法:GET,
超时:120000
}
},{
标题:{
接受:应用/ JSON,
内容类型:应用/ JSON
}
}),
serviceB:$资源('/ API / serviceB',{
serviceB_paramA:@serviceB_valueA',
serviceB_paramB:@serviceB_valueB
},{
'得到':{
方法:GET,
超时:120000
}
},{
标题:{
接受:应用/ JSON,
内容类型:应用/ JSON
}
})
};
}
解决方案
定义你的配置对象为常量,那么你可以把它注射到每个需要的服务,并覆盖特定于该服务的任何属性。
//恒
angular.module('对myApp')
.constant('serviceConfigObject',
{
'得到':{
方法:GET,
超时:120000
}
},{
标题:{
接受:应用/ JSON,
内容类型:应用/ JSON
}
})//服务
角
.module('myApp.services')
.factory('myServices',myServices);。myServices $注射='$资源','serviceConfigObject'];功能myServices($资源,serviceConfigObject){
返回{
serviceA:$资源('/ API / serviceA',{
serviceA_paramA:@serviceA_valueA',
serviceA_paramB:@serviceA_valueB
},serviceConfigObject)
serviceB:$资源('/ API / serviceB',{
serviceB_paramA:@serviceB_valueA',
serviceB_paramB:@serviceB_valueB
},serviceConfigObject)
};
}
Based on the following sample, how can I set the $resource
timeout and headers globally? I have a number of $resource
definitions like the following but I’d prefer to not repeat the basic config for each.
angular
.module('myApp.services')
.factory('myServices', myServices);
myServices.$inject = ['$resource'];
function myServices($resource) {
return {
serviceA: $resource('/api/serviceA', {
serviceA_paramA: '@serviceA_valueA',
serviceA_paramB: '@serviceA_valueB'
}, {
'get': {
method: 'GET',
timeout: 120000
}
}, {
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
}),
serviceB: $resource('/api/serviceB', {
serviceB_paramA: '@serviceB_valueA',
serviceB_paramB: '@serviceB_valueB'
}, {
'get': {
method: 'GET',
timeout: 120000
}
}, {
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
})
};
}
解决方案
Define your configuration object as a constant, then you can inject it into each service that needs it, and overwrite any properties that are specific to that service.
//Constant
angular.module('myApp')
.constant('serviceConfigObject',
{
'get': {
method: 'GET',
timeout: 120000
}
}, {
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
})
// Service
angular
.module('myApp.services')
.factory('myServices', myServices);
myServices.$inject = ['$resource', 'serviceConfigObject'];
function myServices($resource, serviceConfigObject) {
return {
serviceA: $resource('/api/serviceA', {
serviceA_paramA: '@serviceA_valueA',
serviceA_paramB: '@serviceA_valueB'
}, serviceConfigObject),
serviceB: $resource('/api/serviceB', {
serviceB_paramA: '@serviceB_valueA',
serviceB_paramB: '@serviceB_valueB'
}, serviceConfigObject)
};
}
这篇关于设置角$资源配置在全球范围内的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文