다른 서비스에 서비스를 주입하는 각도JS
한 서비스를 angularJS에서 다른 서비스에 주입할 수 있습니까?
네, angularjs의 규칙대로 주사하세요
app.service('service1', function(){});
//Inject service1 into service2
app.service('service2',function(service1){});
@simon 덕분입니다.문제를 최소화하려면 어레이 주입을 사용하는 것이 좋습니다.
app.service('service2',['service1', function(service1) {}]);
네. 이와 같이 (이것은 프로바이더이지만, 같은 것이 적용됩니다.)
module.provider('SomeService', function () {
this.$get = ['$q','$db','$rootScope', '$timeout',
function($q,$db,$rootScope, $timeout) {
return reval;
}
});
이 예에서는,$db
앱의 다른 곳에서 선언되어 프로바이더에 주입된 서비스입니다.$get
기능.
혼동을 피하기 위해 자녀서비스에서 다른 서비스($http, $cookies, $state 등)를 사용하고 있는 경우에도 명시적으로 선언할 필요가 있다고 생각합니다.
예.
function() {
var childService = function($http, $cookies, parentService) {
// Methods inherited
this.method1Inherited = parentService.method1();
this.method2Inherited = parentService.method2();
// You can always add more functionality to your child service
angular.module("app").service("childService", ["$http", "$cookies", "parentService", childService]);
}());
자녀 내부에서 사용하고 있는 서비스를 어레이 내에서 선언한 후 자동으로 주입하거나 $inject 주석을 사용하여 별도로 주입할 수 있습니다.
childService.$inject = ["$http", "$cookies", "parentService"];
angular.module("app").service("childService ", childService );
언급URL : https://stackoverflow.com/questions/21004760/injecting-a-service-into-another-service-in-angularjs
'programing' 카테고리의 다른 글
jQuery AJAX를 사용하여 여러 데이터 매개 변수 전송 (0) | 2023.03.05 |
---|---|
Oracle "파티션 기준" 키워드 (0) | 2023.03.05 |
어레이 엔트리를 코드 한 줄의 확산 구문으로 바꾸시겠습니까? (0) | 2023.03.05 |
oracle의 RANK() 함수와 DEXINK() 함수의 차이점은 무엇입니까? (0) | 2023.03.05 |
Woocommerce - added_to_cart 트리거 (0) | 2023.02.28 |