Services & Dependency Injection
Services, @Injectable, providedIn, Dependency Injection, hierarchische Injectors, Injection Tokens, Providers
1Was ist ein Service in Angular?
Was ist ein Service in Angular?
Antwort
Ein Service ist eine TypeScript-Klasse, die mit @Injectable dekoriert ist und Geschäftslogik oder gemeinsam genutzte Daten kapselt. Services folgen dem Prinzip der Trennung von Verantwortlichkeiten, indem sie wiederverwendbare Logik aus Komponenten extrahieren. Sie können dank Angulars Dependency-Injection-System in andere Klassen injiziert werden, was die Modularität und Testbarkeit des Codes fördert.
2Welcher Decorator macht eine Klasse in Angular injizierbar?
Welcher Decorator macht eine Klasse in Angular injizierbar?
Antwort
Der @Injectable-Decorator ist obligatorisch, damit eine Klasse als Service im Dependency-Injection-System von Angular verwendet werden kann. Dieser Decorator ermöglicht es Angular, die notwendigen Metadaten zu generieren, um die Abhängigkeiten des Service aufzulösen. Ohne @Injectable würde der TypeScript-Compiler die für die Injection notwendigen Typinformationen nicht beibehalten, was zu Laufzeitfehlern führen würde.
3Was ist die korrekte Syntax, um einen einfachen Service zu erstellen?
Was ist die korrekte Syntax, um einen einfachen Service zu erstellen?
Antwort
Die vollständige Syntax zum Erstellen eines Angular-Service umfasst den Import des Injectable-Decorators aus @angular/core und dessen Anwendung auf eine Klasse mit der providedIn-Option. Diese moderne Konfiguration registriert den Service automatisch im Root-Injector der Anwendung. Die Option providedIn: 'root' ist die beste Praxis, da sie Tree-Shaking ermöglicht und ein globales Singleton garantiert.
Was bedeutet providedIn: 'root' in @Injectable?
Wie injiziert man einen Service in eine Komponente?
+17 Interview-Fragen
Weitere Angular-Interviewthemen
TypeScript-Grundlagen
TypeScript Fortgeschritten
Angular-Grundlagen
Komponenten und Lebenszyklus
Angular-Modul-Organisation
Angular CLI
Direktiven und Pipes
Routing und Navigation
Reactive Forms
Template-driven Forms
RxJS-Grundlagen
RxJS-Operatoren
HttpClient und API-Aufrufe
Grundlegende State-Verwaltung
Change Detection
Angular Signals
Standalone Components
Angular Unit-Tests
End-to-End-Testing
Build und Optimierung
NgRx-Grundlagen
NgRx Fortgeschritten
Angular-Architektur
Performance-Optimierung
Sicherheit und Best Practices
Fortgeschrittene RxJS-Patterns
Angular Universal und SSR
Angular Micro-Frontends
Meistere Angular für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten