Serviços e o novo @Service()
Um serviço guarda a lógica que não pertence a nenhuma tela específica — buscar dados, controlar o tema, guardar a sessão do usuário. Qualquer componente que precisar dessa lógica só injeta o serviço, em vez de reescrever o código.
Até pouco tempo, isso era feito com @Injectable({ providedIn: 'root' }). O Angular introduziu @Service() como um jeito mais direto de escrever a mesma coisa — o FlickPicks já usa a versão nova em todos os serviços, e este template também (o Tema que liga/desliga o modo escuro é um @Service()).
ANTES
TS
import { Injectable } from '@angular/core';
@Injectable({ providedIn: 'root' })
export class ListsService {
// ...
}AGORA
TS
import { Service, inject } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Service()
export class TmdbLists {
private readonly http = inject(HttpClient);
// ...
}Perguntas frequentes
Fim do módulo 1
Com componentes, signals, dados vindos de fora, rotas e serviços, você já tem a base reativa completa do Angular — as mesmas peças que sustentam o FlickPicks inteiro. O próximo módulo entra no Tailwind CSS, que dá forma visual a tudo isso.