docs: Implementa feedback al archivo architecture-services
This commit is contained in:
parent
ab87527e1d
commit
66a2af0c77
@ -12,7 +12,7 @@ Un componente debe presentar propiedades y métodos para el enlace de datos,
|
||||
para mediar entre la vista (representada por la plantilla)
|
||||
y la lógica de la aplicación (que a menudo incluye alguna noción de * modelo *).
|
||||
|
||||
Un componente puede delegar ciertas tareas a los servicios, como obtener datos del servidor, validar la entrada del usuario o iniciar sesión directamente en la consola.
|
||||
Un componente puede delegar ciertas tareas a los servicios, como obtener datos del servidor, validar la entrada del usuario o registrar información directamente en la consola.
|
||||
Al definir tales tareas de procesamiento en una * clase de servicio inyectable *, hace que esas tareas sean disponibles para cualquier componente.
|
||||
También puedes hacer que tu aplicación sea más adaptable inyectando diferentes proveedores del mismo tipo de servicio, según corresponda en diferentes circunstancias.
|
||||
|
||||
@ -21,11 +21,11 @@ al facilitar la integración de la lógica de tu aplicación en los servicios y
|
||||
|
||||
## Ejemplos de servicios
|
||||
|
||||
A continuación, se muestra un ejemplo de una clase de servicio que se registra en la consola del navegador.
|
||||
A continuación, se muestra un ejemplo de una clase de servicio que registra información en la consola del navegador.
|
||||
|
||||
<code-example path="architecture/src/app/logger.service.ts" header="src/app/logger.service.ts (class)" region="class"></code-example>
|
||||
|
||||
Servicios pueden depender de otros servicios. Por ejemplo, hay un `HeroService` que depende del `Logger` service, y también usa `BackendService` para obtener heroes. Ese servicio, a su vez, podría depender del servicio `HttpClient` para buscar héroes de forma asíncrona desde un servidor.
|
||||
Los servicios pueden depender de otros servicios. Por ejemplo, hay un `HeroService` que depende del `Logger` service, y también usa `BackendService` para obtener héroes. Ese servicio, a su vez, podría depender del servicio `HttpClient` para buscar héroes de forma asíncrona desde un servidor.
|
||||
|
||||
<code-example path="architecture/src/app/hero.service.ts" header="src/app/hero.service.ts (class)" region="class"></code-example>
|
||||
|
||||
@ -33,10 +33,10 @@ Servicios pueden depender de otros servicios. Por ejemplo, hay un `HeroService`
|
||||
|
||||
<img src="generated/images/guide/architecture/dependency-injection.png" alt="Service" class="left">
|
||||
|
||||
ID está conectado al framework de Angular y se usa en todas partes para proporcionar nuevos componentes con los servicios u otras cosas que necesitan.
|
||||
Inyección de dependencia está conectado al framework de Angular y se usa en todas partes para proporcionar nuevos componentes con los servicios u otras cosas que necesitan.
|
||||
Los componentes consumen servicios; es decir, puede * inyectar * un servicio en un componente, dándole acceso al componente a ese servicio.
|
||||
|
||||
Para definir una clase como un servicio en Angular, use el decorador `@Injectable ()` para proporcionar los metadatos que le permitan a Angular inyectarlo en un componente como una * dependencia *.
|
||||
Para definir una clase como un servicio en Angular, usa el decorador `@Injectable ()` para proporcionar los metadatos que le permitan a Angular inyectarlo en un componente como una * dependencia *.
|
||||
De manera similar, use el decorador `@Injectable ()` para indicar que un componente u otra clase (como otro servicio, un pipeline o un NgModule) * tiene * una dependencia.
|
||||
|
||||
* El * inyector * es el mecanismo principal. Angular crea un inyector para toda la aplicación durante el proceso de arranque e inyectores adicionales según sea necesario. No es necesario crear inyectores.
|
||||
@ -75,7 +75,7 @@ El proveedor puede formar parte de los propios metadatos del servicio, haciendo
|
||||
Debes registrar proveedores en los metadatos del servicio (en el decorador `@Injectable ()`),
|
||||
o en los metadatos `@NgModule ()` o `@Component ()`
|
||||
|
||||
* Por defecto, el comando CLI de Angular [`ng generate service`] (cli / generate) registra un proveedor con el inyector raíz para tu servicio al incluir metadatos del proveedor en el decorador` @Injectable () `. El tutorial utiliza este método para registrar el proveedor de la definición de clase HeroService.
|
||||
* Por defecto, el comando CLI de Angular [`ng generate service`](cli/generate) registra un proveedor con el inyector raíz para tu servicio al incluir metadatos del proveedor en el decorador `@Injectable()`. El tutorial utiliza este método para registrar el proveedor de la definición de clase HeroService.
|
||||
|
||||
```
|
||||
@Injectable({
|
||||
@ -84,9 +84,9 @@ o en los metadatos `@NgModule ()` o `@Component ()`
|
||||
```
|
||||
|
||||
Cuando proporcionas el servicio en el nivel raíz, Angular crea una instancia única compartida de `HeroService` y lo inyecta en cualquier clase que lo solicite.
|
||||
El registro del proveedor en los metadatos `@Injectable ()` también permite a Angular optimizar una aplicación eliminando el servicio de la aplicación compilada si no se utiliza.
|
||||
El registro del proveedor en los metadatos `@Injectable()` también permite a Angular optimizar una aplicación eliminando el servicio de la aplicación compilada si no se utiliza.
|
||||
|
||||
* Cuando registras un proveedor con un [NgModule específico] (guía / módulos de arquitectura), la misma instancia de un servicio está disponible para todos los componentes en ese NgModule. Para registrarse en este nivel, usa la propiedad `Provider` del decorador` @NgModule () `,
|
||||
* Cuando registras un proveedor con un [NgModule específico](guide/architecture-modules), la misma instancia de un servicio está disponible para todos los componentes en ese NgModule. Para registrar en este nivel, usa la propiedad `Provider` del decorador `@NgModule()`.
|
||||
|
||||
```
|
||||
@NgModule({
|
||||
@ -100,8 +100,8 @@ o en los metadatos `@NgModule ()` o `@Component ()`
|
||||
|
||||
* Cuando registras un proveedor a nivel del componente, obtienes una nueva instancia del
|
||||
servicio con cada nueva instancia de ese componente.
|
||||
A nivel del componente, registra un proveedor de servicios en la propiedad `Providers` de los metadatos` @Component () `.
|
||||
A nivel del componente, registra un proveedor de servicios en la propiedad `Providers` de los metadatos `@Component()`.
|
||||
|
||||
<code-example path="architecture/src/app/hero-list.component.ts" header="src/app/hero-list.component.ts (component providers)" region="providers"></code-example>
|
||||
|
||||
Para obtener información más detallada, consulta la sección [Inyección de dependencia] (guía / inyección de dependencia).
|
||||
Para obtener información más detallada, consulta la sección [Inyección de dependencia](guide/dependency-injection).
|
||||
|
Loading…
x
Reference in New Issue
Block a user