Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Injeção de Serviço em um Componente | Serviços e Injeção de Dependência no Angular
Introdução ao Angular

bookInjeção de Serviço em um Componente

Deslize para mostrar o menu

Você criou o TaskService, que é responsável por armazenar e gerenciar a lista de tarefas. No entanto, o serviço por si só não interage com a interface do usuário. Para obter os dados do serviço no template do componente, é necessário injetar o serviço no componente correspondente.

Agora, será apresentado como o Angular conecta automaticamente serviços a componentes utilizando a Injeção de Dependência (DI) e como o serviço funciona dentro do componente.

O que é Injeção de Dependência?

Note
Definição

Injeção de Dependência (DI) é um padrão de projeto no qual o Angular injeta automaticamente as dependências necessárias (como serviços) no construtor de um componente.

Graças ao DI, os componentes não criam instâncias de serviços por conta própria — eles simplesmente recebem uma instância já criada. O Angular se encarrega de fornecer os objetos necessários para quem precisar deles.

Isso funciona porque o serviço é decorado com:

@Injectable({
  providedIn: 'root'
})

Este decorador informa ao Angular para criar uma única instância (singleton) do serviço para todo o aplicativo e torná-la disponível para DI.

Injeção do Serviço em um Componente

Agora, vamos injetar o TaskService no TaskListComponent para que ele possa obter a lista de tarefas e interagir com ela.

Veja como fica o código do componente:

task-list.ts

task-list.ts

copy

Importação do TaskService, da interface Task e de outros componentes e módulos necessários para o template.

No construtor do componente, o serviço é adicionado por meio da Injeção de Dependência:

task-list.ts

task-list.ts

copy

O serviço é armazenado como um campo privado para uso nos métodos do componente. Logo após a criação do componente (dentro do construtor), a lista de tarefas é obtida. Essa lista é então utilizada no template HTML.

Os métodos deleteTask e toggleStatus chamam as funções do serviço para excluir uma tarefa ou alternar seu status, em seguida atualizam o array local tasks para que a interface reflita as alterações.

Essa abordagem mantém o componente simples: ele não sabe como os dados são armazenados ou manipulados — apenas solicita ao serviço que os atualize. Isso separa as responsabilidades: componentes lidam com a visualização e serviços lidam com os dados.

1. O que é Injeção de Dependência (DI) no Angular?

2. Por que atualizamos this.tasks após chamar deleteTask ou toggleStatus?

question mark

O que é Injeção de Dependência (DI) no Angular?

Selecione a resposta correta

question mark

Por que atualizamos this.tasks após chamar deleteTask ou toggleStatus?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 3

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 4. Capítulo 3
some-alt