Animationsgrunder: trigger och state
Definiera animationstillstånd och triggers.
Animationsgrunder: trigger och state är en gratis lektion i Angular Academy på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Angular Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Angular Academy innehåller totalt 4 lektioner.
Angular-animationer
Angulars animationssystem är ett deklarativt DSL som bygger på Web Animations API. Du beskriver tillstånd och övergångar, så hanterar Angular tidsinställningar och DOM-uppdateringar.
Konfiguration
Ange animationer i din bootstrap-konfiguration för att aktivera animationsmotorn.
bootstrapApplication(AppComponent, {
providers: [provideAnimationsAsync()]
});trigger
En trigger namnger en animation och grupperar dess tillstånd och övergångar. Du kopplar den till ett element via en binding.
animations: [
trigger('openClose', [
// states and transitions
])
]Definiera tillstånd
state kopplar ett namngivet tillstånd till en uppsättning CSS-format som elementet ska ha i det tillståndet.
state('open', style({ height: '200px', opacity: 1 })),
state('closed', style({ height: '0px', opacity: 0 }))Funktionen style
style tar emot ett objekt med CSS-egenskaper. Använd camelCase-nycklar eller CSS-namn inom citattecken.
style({ backgroundColor: '#1976d2', transform: 'scale(1)' })Koppla triggern
I templaten binder du @triggerName till ett uttryck som returnerar det aktuella tillståndet.
<div [@openClose]="isOpen ? 'open' : 'closed'">
Content
</div>En komplett trigger
Här är en trigger med två tillstånd och en övergång mellan dem.
trigger('openClose', [
state('open', style({ height: '200px' })),
state('closed', style({ height: '0px' })),
transition('open <=> closed', animate('300ms ease'))
])Styra tillstånd från komponenten
Komponenten växlar bara en boolean eller sträng; Angular interpolerar mellan formaten för de matchande tillstånden.
isOpen = signal(true);
toggle() { this.isOpen.update(v => !v); }Wildcard-tillstånd
Wildcard-tecknet * matchar alla tillstånd och är användbart för standardvärden samt enter-/leave-animationer som behandlas senare.
state('*', style({ opacity: 1 }))Void-tillstånd
Det särskilda tillståndet void representerar ett element som inte finns i DOM, vilket ligger till grund för enter- och leave-animationer.
Varför deklarativa animationer?
Deklarativa animationer håller tidslogiken utanför komponenterna, integreras med Angulars livscykel och städar automatiskt upp när element lämnar DOM.
Snabbtest
Testa dina kunskaper om animationer.
Sammanfattning
Du har lärt dig att Angular-animationer använder en trigger som innehåller state-definitioner (där varje definition kopplar ett namn till style) och binds i templaten via [@trigger]. Tillstånden void och * täcker frånvarande respektive valfria tillstånd.
Lär dig HTML med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 38
- Lektioner
- 144
Vanliga frågor
Är lektionen ”Animationsgrunder: trigger och state” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Angular Academy, inklusive ”Animationsgrunder: trigger och state”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Angular Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Animationsgrunder: trigger och state”?
Definiera animationstillstånd och triggers. Ni övar på Angular Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Angular Academy?
Du behöver inga förkunskaper. Utbildningen i Angular Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Animationsgrunder: trigger och state”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Angular Academy-lektionen?
Ja. Varje Angular Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Animationsgrunder: trigger och state
- Övergångar och tidsinställning
- Animationer när element visas och döljs
- Keyframes och stegvis fördröjning