Tokeny wstrzykiwania
Wstrzykuj wartości niebędące klasami za pomocą tokenów.
Tokeny wstrzykiwania to bezpłatna lekcja Angular Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Angular Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Angular Academy zawiera 4 lekcji w sumie.
Tokeny wstrzykiwania
Nie każda zależność jest klasą. Aby wstrzykiwać wartości, takie jak obiekty konfiguracyjne, ciągi znaków lub interfejsy, należy użyć InjectionToken jako unikatowego klucza.
Dlaczego tokeny
Klasy mogą być bezpośrednio używane jako klucze DI, ale interfejsy i wartości prymitywne nie mogą nimi być, ponieważ interfejsy znikają w czasie wykonywania. InjectionToken zapewnia w takich przypadkach stabilny klucz z określonym typem.
Tworzenie tokenu
Token należy utworzyć za pomocą new InjectionToken<T>, przekazując opis czytelny dla człowieka.
import { InjectionToken } from '@angular/core';
export const API_URL = new InjectionToken<string>('API_URL');Parametr typu
Parametr typu generycznego, tutaj string, nadaje tokenowi typ, dzięki czemu wstrzykiwane wartości mają właściwie określony typ.
Dostarczanie wartości tokenu
Token należy zarejestrować wraz z wartością za pomocą useValue w tablicy providers.
// bootstrapApplication(AppComponent, {
// providers: [{ provide: API_URL, useValue: 'https://api.example.com' }]
// });Wstrzykiwanie tokenu
Token należy wstrzyknąć za pomocą funkcji inject, aby uzyskać jego wartość.
import { inject } from '@angular/core';
import { API_URL } from './tokens';
export class Api {
private baseUrl = inject(API_URL);
}Tokeny konfiguracji
Typowym zastosowaniem jest konfiguracja aplikacji: należy zdefiniować interfejs, utworzyć token o tym typie i dostarczyć obiekt konfiguracyjny.
export interface AppConfig { title: string; retries: number; }
export const APP_CONFIG = new InjectionToken<AppConfig>('APP_CONFIG');Dostarczanie konfiguracji
Następnie należy dostarczyć wartość konfiguracji podczas uruchamiania aplikacji.
// providers: [{ provide: APP_CONFIG, useValue: { title: 'My App', retries: 3 } }]Wartości domyślne z fabryki
Token może dostarczać wartość domyślną za pomocą fabryki w swoich opcjach, dzięki czemu działa nawet bez jawnego dostawcy.
export const RETRIES = new InjectionToken<number>('RETRIES', {
providedIn: 'root',
factory: () => 3
});Tokeny a klasy
Klasy należy używać jako klucza, gdy zależność jest klasą usługi. InjectionToken należy stosować do wstrzykiwania wartości niebędących klasami: konfiguracji, wartości prymitywnych lub obiektów typowanych interfejsem.
Unikanie magicznych ciągów znaków
InjectionToken zastępuje podatne na błędy klucze tekstowe typowanymi identyfikatorami, które nie powodują kolizji, dzięki czemu pomyłki są wykrywane podczas kompilacji.
Szybkie sprawdzenie: tokeny
Wstrzykiwanie wartości niebędących klasami.
Podsumowanie: tokeny wstrzykiwania
Poznali Państwo InjectionToken, który zapewnia typowane klucze do wstrzykiwania wartości niebędących klasami, takich jak obiekty konfiguracji, ciągi znaków i dane typowane interfejsem. Token należy utworzyć za pomocą new InjectionToken, dostarczyć go przez useValue lub domyślną fabrykę, a następnie wstrzyknąć za pomocą inject(). Ukończyli Państwo kurs Dependency Injection.
Często zadawane pytania
Czy lekcja „Tokeny wstrzykiwania” jest bezpłatna?
Tak — pełny tekst „Tokeny wstrzykiwania” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Angular Academy, przejdź na CoddyKit PRO. Kurs Angular Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Tokeny wstrzykiwania”?
Wstrzykuj wartości niebędące klasami za pomocą tokenów. Ćwiczysz Angular Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Angular Academy?
Nie wymagamy żadnego doświadczenia. Angular Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Tokeny wstrzykiwania”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Angular Academy?
Tak. Każda lekcja Angular Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Usługi i Injectable
- Funkcja inject
- Dostawcy i zakresy
- Tokeny wstrzykiwania