Angular Components
Priority: P0 (CRITICAL)
Principles
- •Standalone:
standalone: true. Import dependencies directly inimportsarray. - •Signal Inputs: Use
input()andinput.required()instead of@Input(). - •Signal Outputs: Use
output()(from v17.3+) instead of@Output() EventEmitter. - •Control Flow: Use
@if,@for,@switchblock syntax instead of*ngIf,*ngFor. - •View Encapsulation: Default
Emulated. UseNonecarefully.
Signals Integration
- •Use
computed()for derived state. - •Use
effect()strictly for side effects (logging, manual DOM manipulation), NEVER for state propagation.
Anti-Patterns
- •Complex Logic in Template: Call a method or use a
computedsignal. - •Direct DOM Access: Avoid
ElementRef.nativeElementmodification. Use Directives or Renderer2. - •Component Inheritance: Prefer Composition (Directives, Services) over Class Inheritance.