Ранее я передавал URL-адреса некоторыми службами в угловой JS. Теперь я хочу передать URL в $ resource от контроллера в качестве параметра.
Я пытался передать URL-адрес ресурсу из контроллера, но выдает ошибку, что объект URL не найден.
Ниже приведен мой текущий заводской код:
angular.module('Services').factory('PatientsService', ['$resource', 'Service', '$http',
function(Resource, Service, Http) {
return {
testGetPatients : Resource(Service.getPatientsCustomRefURL(), {}, {
query : {
method : 'GET',
isArray : false
}
})
};
}]);
В приведенном выше коде я отправляю параметр url из Service.getPatientCUstomRefURL
Фактический вызов $ resource показан ниже:
PatientsService.getPatientsRef.query(function(refResponse) {
//TODO for response
});
Теперь я хочу передать параметр примерно так:
PatientsService.getPatientsRef.query("/patient/list",function(refResponse) {
//TODO for response
});
Какие изменения я должен внести в свою фабрику PatientsService, чтобы она поддерживала передачу URL в качестве параметра.
Вот код, который создаст URL для $ resource
Код услуги
angular.module('Services', ['ngResource']).factory('Service', ['$resource', '$location', '$rootScope',
function($resource, $location, $rootScope) {
return {
getPatientsCustomRefURL: function() {
return '/patient/list';
}
};
}
]);
Примечание
У меня так много методов в PatientService, поэтому я не хочу добавлять дополнительную функцию в PatientService для каждого $ ресурса, которая будет передавать URL как параметр, подобный
angular.module('Services').factory('PatientsService', ['$resource', 'Service', '$http',
function(Resource, Service, Http) {
return {
testGetPatients : function(url){
return Resource(url, {}, {
query : {
method : 'GET',
isArray : false
}
})
}
};
}]);