Master
Angular
Development
Your comprehensive resource for mastering modern Angular development. Learn from expert-curated content, stay up-to-date with the latest features, and build production-ready applications.
export class CounterComponent {
count = signal(0);
// Track total clicks using scan operator
totalClicks$ = fromEvent(document, 'click').pipe(
scan((total) => total + 1, 0)
);
// Computed values automatically update
doubled = computed(() => this.count() * 2);
isEven = computed(() => this.count() % 2 === 0);
increment() {
this.count.update(c => c + 1);
}
decrement() {
this.count.update(c => c - 1);
}
reset() {
this.count.set(0);
}
}
Need help with Angular?
Ask Angie, your AI assistant for Angular documentation. Get instant answers to your questions about Angular features, APIs, and best practices.
Angular Caniuse
Track API & Feature status across versions
Feature | 18 | 19 | 20 |
---|---|---|---|
Standalone Components | |||
@defer | |||
Control Flow |
Latest Updates
Stay informed about our latest improvements and upcoming features
Version Insights
ETA: just nowDiscover key information about Angular versions
Interactive Tutorials
ETA: just nowAdding interactive tutorials to help you learn Angular
Quizzes
ETA: just nowAdding quizzes to help you test your knowledge
Beyond the Fog
A weekly blog series where we dive deep into the complex and often unclear aspects of Angular development. We tackle questions and scenarios that Angular Docs AI assistant struggles to answer.
Angular: Beyond the Fog #1
A weekly deep dive into complex Angular topics, covering Angular 20 features, dependency injection patterns, form handling approaches, and advanced component patterns

Gerome Grignon
Search Angular Commits
Explore Angular's source code history and track changes