← Zurück zum Katalog

Skill · Version 1.0.0

Angular-Komponenten und Injection

Trennt Darstellung, Koordination und Dienste mit eindeutigen Gültigkeitsbereichen und sauberem Ressourcenabbau.

angular-components-di

Entdecke, wie der Skill hilft

Wann ist der Skill hilfreich?

Nutze diesen Skill bei überladenen Komponenten oder versehentlich mehrfach angelegten Diensten.

Wobei hilft er dir?

  • Definiert typisierte Ein- und Ausgaben ohne Geschäftsaktionen in Templates.
  • Wählt Anwendungs-, Routen- oder Komponentenlebensdauer bewusst.
  • Beendet Timer, Abonnements, Listener und externe Instanzen beim Abbau.

Das könntest du fragen

Zerlege unsere Bestellansicht und erkläre, welche Dienste Navigation überleben und welche neu entstehen sollen. Verlasse eine ungespeicherte Bestellung und kehre zurück. Prüfe bewusst erhaltene Entwurfsdaten und die Freigabe komponenteneigener Ereignisbeobachter.

Ausführliche Dokumentation

Hier findest du die ursprüngliche Anleitung, Beispiele und Prüfschritte des Skills in ihrer Originalsprache.

Details…Weniger anzeigen

Angular Components & Dependency Injection

Keep components focused on presentation and user interaction, and organize services and providers with explicit boundaries, injector scopes and lifetimes.

1. Component boundaries and inputs/outputs

  • Split smart/container components (which coordinate routes, services and state) from presentational components (which receive inputs and emit outputs).
  • Match the project's input/output style (input() / output() / model() in modern Angular, or @Input() / @Output() where standard); keep inputs immutable from the child's perspective.
  • Never put business side effects, HTTP calls or heavy computation inside template expressions or property getters called on every change-detection cycle; use computed(), pure pipes or derived streams instead.
  • Follow the project's ChangeDetectionStrategy (OnPush where used); never paper over stale views with arbitrary ChangeDetectorRef.detectChanges() without finding why the input reference, signal or async pipe did not notify Angular.

2. Dependency injection and provider scopes

  • Follow the project's DI style (inject() function vs constructor injection) consistently.
  • Choose the narrowest appropriate provider scope and understand instance lifetime:
    • providedIn: 'root': app-wide singletons (auth, API clients, global caches) that live for the application's lifetime; ensure they do not retain stale feature state across route or user changes.
    • Route providers: [...]: feature-scoped services shared across a route subtree and destroyed when leaving the route.
    • Component providers: [...] / viewProviders: [...]: per-component instance state (complex form coordinators, local facade services) destroyed with the component (ngOnDestroy / DestroyRef).
  • Never accidentally provide a stateful singleton service in both root and a component's providers array unless a separate per-component instance is deliberate.
  • Use InjectionToken<T> for configuration objects, environment values and abstract contracts.

3. Lifecycle and resource cleanup

  • Register cleanup for timers, manual subscriptions, DOM listeners and third-party instances using DestroyRef.onDestroy(...), takeUntilDestroyed(), or ngOnDestroy().

Before you finish

  • Components have a single clear responsibility and typed inputs/outputs.
  • No side effects or expensive calculations inside template expressions or getters.
  • Every service is provided at the intended scope (root, route, or component) without accidental duplicate instances.
  • Component and service resources clean up on destroy.

Enthaltene Dateien 2

  • LICENSE.txt
  • SKILL.md

Über dieses Skill-Paket

angular-components-di

angular-components-di: Entwickelt wartbare Angular-Funktionen mit klaren Komponentengrenzen, reaktivem Zustand, Formularen und geprüften Migrationen.

Details…Weniger anzeigen

angular-components-di

angular-components-di: Entwickelt wartbare Angular-Funktionen mit klaren Komponentengrenzen, reaktivem Zustand, Formularen und geprüften Migrationen.

Enthält den vollständigen Skill und seine Begleitdateien (2 Dateien). Der genaue, ursprünglich verfasste Anwendungsbereich bleibt unten erhalten.

Ursprüngliche Skill-Beschreibung (Quellsprache)

Use when designing or implementing Angular components, directives, pipes, services, dependency injection providers and hierarchical injector scopes.

Installiere den Skill, prüfe seine Quelle und Vertrauenseinstellungen und aktiviere ihn für das passende Projekt oder den Agenten.

Voraussetzungen

  • Orqestria auf deinem Computer installiert.