2014-07-27 3 views
1

다른 각도 컨트롤러에서 호출되는 백엔드 로직을 나타내는 일련의 서비스가 있습니다.전세계 각도 서비스 호출

그러나 개발 중에는 브라우저 Javascript 콘솔에서 테스트 해보기 위해 이러한 서비스를 직접 호출하고 싶습니다. 어떻게 수행 할 수 있습니까?

, 자바 스크립트 콘솔에서 이제

app.service('service1', function() { 
    this.sayHello = function() { 
     return "Hello" 
    }; 
}); 

app.somethingToGetService('service1').sayHello() 

말?

+2

이 서비스를 테스트하기를, 당신은 단위 테스트를 작성해야한다. JavaScript 콘솔에서 호출하지 않습니다. –

+1

이 유스 케이스는 드물지만 $ injector :'$ injector.get ('service1'). 여전히 얻을 수 있습니다. sayHello();': http://plnkr.co/edit/w5gjftCaBDIwm8J7LCE8?p=preview –

+0

하지만 Javascript 콘솔에서 $ injector에 액세스하는 방법 (전 세계적으로)? angular.injector()가 작동하지 않습니다. – Ivan

답변

1

당신은 모듈 인젝터를 얻을 수 있으며이 서비스를받을에서 :

angular.injector(['ng', 'myApp']).get('service1').sayHello() 
+0

"작동"부분이 비현실적입니다. – Ivan

+0

다른 하나 방법은 인젝터를 다시 인스턴스화하지 않기 때문에 아마 더 정확할 것입니다 : 'angular.element (document) .injector(). get ("service1"). sayHello()' (ng -app는 body 또는 html 태그에 정의 됨) – Ivan