Angular Academy · Lektion

Hvad er signals

Forstå signals som reaktive containere for tilstand.

Lektion 1 af 413 trin

Hvad er signals er en gratis Angular Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Angular Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Angular Academy-kurset indeholder 4 lektioner i alt.

Hvad er signaler?

Et signal er en reaktiv primitiv, der blev introduceret i moderne Angular. Det er en indpakning omkring en værdi, som kan underrette interesserede forbrugere, når værdien ændres.

Signaler gør reaktiviteten i Angular tydelig, finkornet og nem at forstå.

Hvorfor reaktivitet er vigtig

I et UI-framework skal skærmen hele tiden være synkroniseret med dine data. Når data ændres, skal visningen opdateres.

Signaler giver Angular en præcis måde at vide præcis, hvad der blev ændret, og hvad der afhænger af det, så kun de berørte dele af visningen opdateres.

Problemet før signaler

Tidligere var Angular afhængig af Zone.js og bred ændringsregistrering: efter enhver asynkron hændelse kontrollerede Angular store dele af komponenttræet igen.

Det fungerer, men det kan være spild af ressourcer. Signaler muliggør finkornede opdateringer uden at gennemgå alt.

Et signal indeholder en værdi

Tænk på et signal som en smart boks omkring en værdi. Du kan læse det, der er i boksen, og erstatte det, der er i den.

Når et signal læses, registreres det også, hvem der læser det, så afhængige dele kan opdateres senere.

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

const count = signal(0);
// count is now a signal holding the number 0

Læsning er et funktionskald

En vigtig idé er, at du skal kalde et signal som en funktion for at læse det. Parenteserne fortæller Angular, at du læser den aktuelle værdi.

const count = signal(0);
console.log(count()); // 0  <-- note the ()

Signaler er synkrone

Læsning af et signal er synkron og returnerer altid den aktuelle værdi med det samme. Der er ikke noget abonnement, ingen async-pipe og ingen manuel afmelding, du skal håndtere.

Skrivbare kontra beregnede signaler

Det grundlæggende signal, der oprettes med signal(), er skrivbart: du kan ændre dets værdi.

Der findes også computed-signaler (afledte værdier) og effects (sideeffekter), som bygger oven på skrivbare signaler.

Signaler sporer afhængigheder

Når en beregnet værdi eller en skabelon læser et signal, registrerer Angular automatisk denne afhængighed.

Hvis signalet senere ændres, beregnes kun de afhængige dele igen. Det er det, der gør signaler effektive.

Opdateringer uden uoverensstemmelser

Signaler er designet til at være uden uoverensstemmelser: Forbrugere ser altid en konsistent værdi og underrettes ikke om en mellemliggende, delvist opdateret tilstand.

Det gør komplekse reaktive grafer forudsigelige.

Hvor signaler findes

Signaler er en del af @angular/core. Du importerer signal, computed og effect derfra.

De kan bruges i komponenter, tjenester eller enhver TypeScript-kode.

import { signal, computed, effect } from '@angular/core';

Signaler i en komponent

Et almindeligt mønster er at erklære signaler som klassefelter i en komponent og derefter læse dem i skabelonen.

import { Component, signal } from '@angular/core';

@Component({ selector: 'app-counter', template: '' })
export class CounterComponent {
  count = signal(0);
}

Hurtigt tjek: Grundlæggende om signaler

Lad os kontrollere, om du har forstået, hvad et signal er.

Opsummering: Hvad er signaler?

Du har lært, at et signal er en reaktiv indpakning omkring en værdi, som underretter forbrugere, når værdien ændres. Du læser et signal ved at kalde det med parenteser, læsninger er synkrone, og signaler muliggør finkornede opdateringer uden uoverensstemmelser.

Nu skal du oprette og læse dine egne signaler.

Gratis at komme i gang

Lær HTML med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
38
Lektioner
144

Ofte stillede spørgsmål

Er lektionen “Hvad er signals” gratis?

Ja — alle 3 lektioner i læringssporet Angular Academy, inklusive “Hvad er signals”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Angular Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Hvad er signals”?

Forstå signals som reaktive containere for tilstand. Du øver dig i Angular Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Angular Academy?

Der kræves ingen tidligere erfaring. Angular Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Hvad er signals”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Angular Academy-lektion?

Ja. Alle Angular Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Hvad er signals
  2. Oprettelse og læsning af signals
  3. Opdatering af signals med set og update
  4. Signals i templates
← Tilbage til Angular Academy