0Pricing
Angular Academy · Lekcja

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

  1. Usługi i Injectable
  2. Funkcja inject
  3. Dostawcy i zakresy
  4. Tokeny wstrzykiwania
← Powrót do Angular Academy