Angular Academy · leksjon

Injeksjonstokener

Injiser verdier som ikke er klasser, med tokener.

Leksjon 4 av 413 trinn

Injeksjonstokener er en gratis leksjon i Angular Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Angular Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Angular Academy inneholder totalt 4 leksjoner.

Injection tokens

Ikke alle avhengigheter er klasser. For å injisere verdier som konfigurasjonsobjekter, strenger eller grensesnitt bruker De et InjectionToken som en unik nøkkel.

Hvorfor tokens

Klasser kan brukes direkte som DI-nøkler, men grensesnitt og primitive verdier kan ikke det (grensesnitt fjernes under kjøring). Et InjectionToken gir en stabil nøkkel med typeinformasjon for disse tilfellene.

Opprette et token

Opprett et token med new InjectionToken<T>, og oppgi en beskrivelse som er lett å forstå.

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

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

Typeparameteren

Den generiske typeparameteren (her string) gir tokenet en type, slik at injiserte verdier får riktig type.

Tilby en token-verdi

Registrer tokenet med en verdi ved hjelp av useValue i et providers-array.

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

Injisere et token

Injiser tokenet med inject-funksjonen for å hente verdien.

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

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

Tokens for konfigurering

Et vanlig bruksområde er appkonfigurering: definer et grensesnitt, opprett et token med denne typen, og tilby et konfigurasjonsobjekt.

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

Tilby konfigurasjonen

Tilby deretter konfigurasjonsverdien ved oppstart.

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

Standardverdier fra en factory

Et token kan angi en standardverdi via en factory i alternativene, slik at det fungerer selv uten en eksplisitt provider.

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

Tokens kontra klasser

Bruk en klasse som nøkkel når avhengigheten er en tjenesteklasse. Bruk et InjectionToken når De injiserer verdier som ikke er klasser: konfigurasjoner, primitive verdier eller objekter med grensesnitttype.

Unngå magiske strenger

InjectionTokens erstatter sårbare strengnøkler med typesikre identifikatorer uten kollisjoner, slik at feil oppdages under kompilering.

Rask sjekk: tokens

Injisere verdier som ikke er klasser.

Oppsummering: Injection tokens

De har lært at InjectionToken gir typesikre nøkler for injisering av verdier som ikke er klasser, for eksempel konfigurasjonsobjekter, strenger og data med grensesnitttype. Opprett et med new InjectionToken, tilby det med useValue eller en standardverdi fra en factory, og injiser det med inject(). De har fullført kurset Dependency Injection.

Gratis å komme i gang

Lær deg HTML med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
38
Leksjoner
144

Ofte stilte spørsmål

Er leksjonen «Injeksjonstokener» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Angular Academy, inkludert «Injeksjonstokener», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Angular Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Injeksjonstokener»?

Injiser verdier som ikke er klasser, med tokener. Du øver på Angular Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Angular Academy?

Ingen tidligere erfaring er nødvendig. Angular Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Injeksjonstokener»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Angular Academy-leksjonen?

Ja. Alle Angular Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Tjenester og Injectable
  2. inject-funksjonen
  3. Tilbydere og omfang
  4. Injeksjonstokener
← Tilbake til Angular Academy