AngularJS와 서비스 (서비스)
AngularJS와 자신의 서비스를 만들거나 내장 된 서비스를 사용할 수 있습니다.
서비스는 무엇입니까?
AngularJS와, 상기 서비스 기능 또는 개체가 AngularJS와 응용 프로그램에 사용될 수있다.
AngularJS와 30 개 이상의 서비스를 구축했습니다.
현재 페이지의 URL 주소를 반환하는$ 위치 서비스가있다.
예
app.controller ( 'customersCtrl', 기능 ( $ 범위, $ 위치) {
$ Scope.myUrl = $ location.absUrl ();
});
»시도
그$ 위치 서비스가 컨트롤러에 매개 변수로 전달합니다.당신이 그것을 사용하려는 경우, 당신은 컨트롤러에 정의 될 필요가있다.
왜 서비스를 사용할 수 있습니까?
$ AngularJS 및 HTTP애플리케이션은 가장 일반적으로 사용되는 서비스이다. 이 서비스는 서버로부터 송신 된 애플리케이션 서버의 응답 데이터에 대한 요청을 전송한다.
지속적으로스크립팅 window.location을 사용하는 것보다보다 나은 서비스를 제공 AngularJS와는 $ 위치를사용, 이벤트 변경 처리, 응용 프로그램을 모니터링AngularJS와.
$ HTTP 서비스
$ AngularJS 및 HTTP애플리케이션은 가장 일반적으로 사용되는 서비스이다. 이 서비스는 서버로부터 송신 된 애플리케이션 서버의 응답 데이터에 대한 요청을 전송한다.
예
서버에$ HTTP 서비스 요청 데이터를 사용합니다
app.controller ( 'myCtrl', 기능 ( $ 범위, $ HTTP) {
$ http.get ( "welcome.htm") 그 때는 (기능 (응답) {
$ Scope.myWelcome = response.data;
});
});
»시도
위에서 매우 간단한$에 http 서비스 인스턴스, 더 $의 HTTP서비스 응용 프로그램을 참조하십시오 AngularJS와 HTTP를 자습서를 .
$ 제한 시간 서비스
AngularJS와 $ 시간 제한과 서비스는 JSwindow.setTimeout 기능에 대응.
예
정보는 2 초 표시 :
app.controller ( 'myCtrl', 기능 ( $ 범위, $ 시간 제한) {
$ scope.myHeader = "안녕하세요!" ;
$ 제한 시간 (함수 () {
$ scope.myHeader = "어떻게 당신은 오늘 ?";
}, 2000);
});
»시도
$ 간격 서비스
JS의 window.setInternal 서비스 기능에 해당하는 $ 간격을 AngularJS와.
예
2 초마다 정보를 표시합니다 :
app.controller ( 'myCtrl', 기능 ( $ 범위, $ 간격) {
$ scope.theTime = 새로운 날짜 () toLocaleTimeString ();
$ 간격 (함수 () {
$ scope.theTime = 새로운 날짜 () toLocaleTimeString ();
}, 1000);
});
»시도
사용자 정의 서비스 만들기
사용자 정의 서비스 액세스를 만들 수 있습니다, 모듈에 연결 :
액세스라는hexafy의 생성 :
this.myFunc = 함수 (x)는 {
x.toString를 반환 (16);
}
});
사용자 정의 서비스에 액세스하려면시 추가 독립형 필터를 정의해야합니다 :
예
사용자 지정 서비스가 디지털 컨버터 16 진수를hexafy 사용
$ scope.hex = hexafy .myFunc (255) ;
});
»시도
맞춤형 서비스를 이용하여 필터
사용자 정의 서비스를 생성하고 응용 프로그램에 연결할 때 컨트롤러, 지침, 필터, 또는 다른 서비스에서 사용할 수 있습니다.
Hexafy는 필터 myFormat에서의서비스를 사용
복귀 기능 (x)는 {
.myFunc (X)를 hexafy 반환;
};
}]);
»시도
당신이 필터를 사용하여 객체의 배열에 값을 얻기 :