我有几个看起来像这样的资源类:
.factory('SettingsResource', function (DefaultResource) {
var endpoint = '/settings';
var params = {};
var options = {};
return new DefaultResource(endpoint, params, options);
}
所有资源类都使用 DefaultResource 作为“基础”:
.factory('DefaultResource', function ($resource, UserResource) {
var baseURL = 'rest',
baseParams = {
currentRole: function () {
return "Admin";
}
},
baseOptions = {
}
return function (endpoint, params, options) {
...
// Code ommited
};
}
如您所见,有一个名为“currentRole”的默认参数,我需要将其附加到每个请求中。
目前该参数是硬编码的,但我实际上应该从 http 调用中获取它,例如:
currentRole: function () {
$resource.get('rest/currentRole').$then(function (response) {
return response.data;
});
}
我已经尝试使用 Provider 并尝试在 config 函数中进行 http 调用。但显然不允许这样做(只能注入提供程序,我不能在配置函数中使用 $resource.get)。
有谁知道我怎么能做到这一点?基本上:如何向资源添加动态、异步加载的默认参数?
我真的很感谢你的帮助!迈克尔