0Pricing
Angular Academy · Lezione

Token di injection

Inietti valori non appartenenti a classi con i token.

Token di injection è una lezione Angular Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Angular Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Angular Academy include 4 lezioni in totale.

Token di injection

Non tutte le dipendenze sono classi. Per inserire valori come oggetti di configurazione, stringhe o interfacce, si usa un InjectionToken come chiave univoca.

Perché usare i token

Le classi possono essere usate direttamente come chiavi DI, ma le interfacce e i valori primitivi no (le interfacce scompaiono a runtime). Un InjectionToken fornisce una chiave stabile e tipizzata per questi casi.

Creazione di un token

Crei un token con new InjectionToken<T>, passando una descrizione comprensibile.

import { InjectionToken } from '@angular/core';

export const API_URL = new InjectionToken<string>('API_URL');

Il parametro di tipo

Il parametro di tipo generico (qui string) assegna un tipo al token, così i valori inseriti vengono tipizzati correttamente.

Fornitura del valore di un token

Registri il token con un valore usando useValue in un array providers.

// bootstrapApplication(AppComponent, {
//   providers: [{ provide: API_URL, useValue: 'https://api.example.com' }]
// });

Injection di un token

Inserisca il token con la funzione inject per ottenerne il valore.

import { inject } from '@angular/core';
import { API_URL } from './tokens';

export class Api {
  private baseUrl = inject(API_URL);
}

Token per la configurazione

Un uso comune riguarda la configurazione dell'app: definisca un'interfaccia, crei un token tipizzato con essa e fornisca un oggetto di configurazione.

export interface AppConfig { title: string; retries: number; }
export const APP_CONFIG = new InjectionToken<AppConfig>('APP_CONFIG');

Fornitura della configurazione

Fornisca quindi il valore di configurazione durante il bootstrap.

// providers: [{ provide: APP_CONFIG, useValue: { title: 'My App', retries: 3 } }]

Valori predefiniti con factory

Un token può fornire un valore predefinito tramite una factory nelle sue opzioni, così funziona anche senza un provider esplicito.

export const RETRIES = new InjectionToken<number>('RETRIES', {
  providedIn: 'root',
  factory: () => 3
});

Token e classi a confronto

Usi una classe come chiave quando la dipendenza è una classe di servizio. Usi un InjectionToken per inserire valori non appartenenti a classi: configurazioni, primitivi o oggetti tipizzati tramite interfaccia.

Evitare le stringhe magiche

Gli InjectionToken sostituiscono fragili chiavi stringa con identificatori tipizzati e privi di collisioni, rilevando gli errori in fase di compilazione.

Verifica rapida: token

Injection di valori non appartenenti a classi.

Riepilogo: token di injection

Ha imparato che InjectionToken fornisce chiavi tipizzate per inserire valori non appartenenti a classi, come oggetti di configurazione, stringhe e dati tipizzati tramite interfaccia. Ne crei uno con new InjectionToken, lo fornisca con useValue o con una factory predefinita e lo inserisca con inject(). Ha completato il corso sulla dependency injection.

Domande Frequenti

La lezione «Token di injection» è gratuita?

Sì — il testo completo di «Token di injection» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Angular Academy, passa a CoddyKit PRO. Il corso Angular Academy include 4 lezioni in totale.

Cosa imparerò in «Token di injection»?

Inietti valori non appartenenti a classi con i token. Eserciti Angular Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Angular Academy?

Non è richiesta alcuna esperienza precedente. Angular Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Token di injection»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Angular Academy?

Sì. Ogni lezione Angular Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Servizi e Injectable
  2. La funzione inject
  3. Provider e ambiti
  4. Token di injection
← Torna a Angular Academy