angular-expert

Solid

Angular 17+ gotchas and decision criteria. Covers signals vs observables, standalone patterns, and common pitfalls Claude gets wrong.

AI & Automation 24 stars 3 forks Updated today MIT

Install

View on GitHub

Quality Score: 85/100

Stars 20%
47
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
64
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

> **AI-consumed reference.** Optimized for Claude to read during execution. > Human-readable explanation: see [docs/architecture/HIERARCHICAL_PLANNING.md](../../../docs/architecture/HIERARCHICAL_PLANNING.md) > or [docs/getting-started/](../../../docs/getting-started/) depending on topic. # Angular Expert — Gotchas & Decisions Use Context7 for full Angular docs. ## Key Decisions ```toon decisions[4]{choice,use_when}: Signals vs Observables,"Signals for sync UI state. Observables for async streams/HTTP. Bridge with toSignal()/toObservable()" NgRx vs Signals,"NgRx for complex shared state with effects. Signals for component/simple app state" Standalone vs Module,"Always standalone (Angular 17+). Modules only for legacy" OnPush vs Default,"Always OnPush. Requires immutable patterns" ``` ## Gotchas - `@for` requires `track` — use `track item.id` not `trackBy` function - `takeUntilDestroyed(this.destroyRef)` must be called in injection context (constructor or field init) - `toSignal()` returns `Signal<T | undefined>` — handle the undefined - `NonNullableFormBuilder` for typed forms — plain `FormBuilder` loses types - `@defer (on viewport)` needs `@placeholder` block or nothing renders - Functional guards/interceptors: use `inject()` not constructor DI

Details

Author
nguyenthienthanh
Repository
nguyenthienthanh/aura-frog
Created
8 months ago
Last Updated
today
Language
JavaScript
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category