diff options
Diffstat (limited to 'docs/content/guide/dev_guide.services.understanding_services.ngdoc')
| -rw-r--r-- | docs/content/guide/dev_guide.services.understanding_services.ngdoc | 48 | 
1 files changed, 48 insertions, 0 deletions
| diff --git a/docs/content/guide/dev_guide.services.understanding_services.ngdoc b/docs/content/guide/dev_guide.services.understanding_services.ngdoc new file mode 100644 index 00000000..f7afc981 --- /dev/null +++ b/docs/content/guide/dev_guide.services.understanding_services.ngdoc @@ -0,0 +1,48 @@ +@workInProgress +@ngdoc overview +@name Developer Guide: Angular Services: Understanding Angular Services +@description + + +Angular services are singletons that carry out specific tasks common to web apps, such as the +{@link api/angular.service.$xhr $xhr service} that provides low level access to the browser's +`XMLHttpRequest` object. + + +To use an angular service, you identify it as a dependency for the dependent (a controller, or +another service) that depends on the service.  Angular's dependency injection subsystem takes care +of the rest. The angular injector subsystem is in charge of service instantiation, resolution of +dependencies, and provision of dependencies to factory functions as requested. + + +Angular injects dependencies using "constructor" injection (the service is passed in via a factory +function). Because JavaScript is a dynamically typed language, angular's dependency injection +subsystem cannot use static types to identify service dependencies. For this reason a dependent +must explicitly define its dependencies by using the `$inject` property.  For example: + + +        myController.$inject = ['$location']; + + +The angular web framework provides a set of services for common operations. Like other core angular +variables and identifiers, the built-in services always start with `$` (such as `$xhr` mentioned +above). You can also create your own custom services. + + + + +## Related Topics + + +* {@link dev_guide.di About Angular Dependency Injection} +* {@link dev_guide.services.creating_services Creating Angular Services} +* {@link dev_guide.services.registering_services Registering Angular Services} +* {@link dev_guide.services.managing_dependencies Managing Service Dependencies} +* {@link dev_guide.services.testing_services Testing Angular Services} + + +## Related API + + +* {@link api/angular.service Angular Service API} +* {@link api/angular.injector Injector API} | 
