Я пытаюсь украсить возвращаемые данные из ресурса angular $данными из пользовательской службы. Мой код:
angular.module('yoApp')
.service('ServerStatus', ['$resource', 'ServerConfig', function($resource, ServerConfig) {
var mixinConfig = function(data, ServerConfig) {
for ( var i = 0; i < data.servers.length; i++) {
var cfg = ServerConfig.get({server: data.servers[i].name});
if (cfg) {
data.servers[i].cfg = cfg;
}
}
return data;
};
return $resource('/service/server/:server', {server: '@server'}, {
query: {
method: 'GET',
isArray: true,
transformResponse: function(data, header) {
return mixinConfig(angular.fromJson(data), ServerConfig);
}
},
get: {
method: 'GET',
isArray: false,
transformResponse: function(data, header) {
var cfg = ServerConfig.get({server: 'localhost'});
return mixinConfig(angular.fromJson(data), ServerConfig);
}
}
});
}]);
Кажется, я делаю что-то неправильно в отношении инъекции зависимостей. Данные, возвращаемые с ServerConfig.get(), отмечены как неразрешенные. Я получил эту работу в контроллере, где я делаю преобразование с помощью
ServerStatus.get(function(data) {$scope.mixinConfig(data);});
Но я предпочел бы сделать украшение на службе. Как я могу сделать эту работу?