0
을 사용하여 인터셉터로 서비스의 의존성 주입을 할 수 있습니다. 나는 $ resource가 $ http와 비교하여 특이성을 가지고 있다는 것을 발견했다. 그러나 이것에 맞는 패턴을 찾을 수 없었다.
을 사용하여 인터셉터로 서비스의 의존성 주입을 할 수 있습니다. 나는 $ resource가 $ http와 비교하여 특이성을 가지고 있다는 것을 발견했다. 그러나 이것에 맞는 패턴을 찾을 수 없었다.
인터셉터를 사용하여 직접 서비스를 삽입 할 수는 없지만 공장이나 서비스에서 $ resource을 래핑하고 $ resource.interceptor에 팩토리 종속성을 사용할 수 있습니다.
예는 아래 첨부 : ES6 방식으로 서비스를 가져올
angular.module('mainModule', ['ngResource']).
factory("MyResource", ['$resource', 'SomeService', function ($resource, SomeService) {
return $resource(
'/', {
someMethod: {
method: 'GET',
interceptor: {
response: function (data) {
// here you can use SomeService
console.log('response in interceptor', data);
},
responseError: function (data) {
// here you can use SomeService
console.log('error in interceptor', data);
}
}
}
}
);
}]);
방법 :
import mainModule from './mainModule';
class SomeController {
constructor($scope, SomeService) {
this.$scope = $scope;
this.SomeService= SomeService;
}
}
SomeController.$inject = ['$scope', 'SomeService'];
mainModule.controller('SomeController', SomeController);
유사한 방식으로 당신이 공장과 서비스뿐만 아니라 만들 수 있습니다.
좋아, 고마워. 자, 여기 ES6이 있기 때문에 다른 서비스로 서비스를 가져 오는 방법을 찾아야합니다. – Olivvv
괜찮아 보이는 군, 나는 또한 _을 주입하는 것을 잊어 버렸다. 좀 더 디버그하고 괜찮을 것입니다. – Olivvv
ES6 방식으로 서비스를 가져 오는 방법이 추가되었습니다. –