Tokens de injeção
Injete valores que não são classes usando tokens.
Tokens de injeção é uma aula grátis de Angular Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Angular Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Angular Academy inclui 4 aulas no total.
Tokens de injeção
Nem toda dependência é uma classe. Para injetar valores como objetos de configuração, strings ou interfaces, você usa um InjectionToken como chave exclusiva.
Por que usar tokens
As classes podem ser usadas diretamente como chaves de DI, mas interfaces e valores primitivos não podem (as interfaces desaparecem durante a execução). Um InjectionToken fornece uma chave estável e tipada para esses casos.
Criando um token
Crie um token com new InjectionToken<T>, passando uma descrição compreensível.
import { InjectionToken } from '@angular/core';
export const API_URL = new InjectionToken<string>('API_URL');O parâmetro de tipo
O parâmetro de tipo genérico (aqui, string) atribui um tipo ao token, para que os valores injetados sejam tipados corretamente.
Fornecendo um valor para o token
Registre o token com um valor usando useValue em uma matriz de provedores.
// bootstrapApplication(AppComponent, {
// providers: [{ provide: API_URL, useValue: 'https://api.example.com' }]
// });Injetando um token
Injete o token com a função inject para obter seu valor.
import { inject } from '@angular/core';
import { API_URL } from './tokens';
export class Api {
private baseUrl = inject(API_URL);
}Tokens para configuração
Um uso comum é a configuração do aplicativo: defina uma interface, crie um token tipado para ela e forneça um objeto de configuração.
export interface AppConfig { title: string; retries: number; }
export const APP_CONFIG = new InjectionToken<AppConfig>('APP_CONFIG');Fornecendo a configuração
Depois, forneça o valor de configuração durante a inicialização.
// providers: [{ provide: APP_CONFIG, useValue: { title: 'My App', retries: 3 } }]Valores padrão de fábrica
Um token pode fornecer um valor padrão por meio de uma fábrica em suas opções, para que funcione mesmo sem um provedor explícito.
export const RETRIES = new InjectionToken<number>('RETRIES', {
providedIn: 'root',
factory: () => 3
});Tokens versus classes
Use uma classe como chave quando a dependência for uma classe de serviço. Use um InjectionToken ao injetar valores que não são classes: configurações, valores primitivos ou objetos tipados por interface.
Evitando strings mágicas
InjectionTokens substituem chaves de string frágeis por identificadores tipados e sem colisões, detectando erros durante a compilação.
Verificação rápida: tokens
Injetando valores que não são classes.
Recapitulação: tokens de injeção
Você aprendeu que InjectionToken fornece chaves tipadas para injetar valores que não são classes, como objetos de configuração, strings e dados tipados por interface. Crie um com new InjectionToken, forneça-o com useValue ou com um valor padrão de fábrica e injete-o com inject(). Você concluiu o curso Injeção de dependências.
Perguntas Frequentes
A aula “Tokens de injeção” é grátis?
Sim — o texto completo de “Tokens de injeção” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Angular Academy, atualize para CoddyKit PRO. O curso de Angular Academy inclui 4 aulas no total.
O que vou aprender em “Tokens de injeção”?
Injete valores que não são classes usando tokens. Você pratica Angular Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Angular Academy?
Nenhuma experiência prévia é necessária. Angular Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Tokens de injeção”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Angular Academy?
Sim. Cada aula de Angular Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Serviços e Injectable
- A função inject
- Provedores e escopos
- Tokens de injeção