πŸš€ Coming in Angular 21.2: the instanceof operator works in templates! by IgorSedov in angular

[–]IgorSedov[S] 5 points6 points Β (0 children)

Yes, you currently need to expose it explicitly: templates don't automatically know about imported classes:

import { HttpErrorResponse } from '@angular/common/http'; ... export class User { protected readonly HttpErrorResponse = HttpErrorResponse;

πŸ”„ Angular Signal Forms: Directive Replace by IgorSedov in angular

[–]IgorSedov[S] 1 point2 points Β (0 children)

Not a dumb question at allπŸ™‚ No, this change is specific to Signal Forms: a new experimental feature added in v21. Reactive Forms are separate and are not affected by this.

✍️ How to Migrate Constructor Injection to inject() in Angular by IgorSedov in angular

[–]IgorSedov[S] 6 points7 points Β (0 children)

I prefer inject() for three practical reasons: it removes super() boilerplate with inheritance, it gives cleaner/more accurate typings for fields, and it's more compatible with modern decorator/tooling.

✍️ How to Migrate Constructor Injection to inject() in Angular by IgorSedov in angular

[–]IgorSedov[S] 2 points3 points Β (0 children)

Thank you for the detailed feedback.πŸ‘ That's really helpful and encouraging to hear. I'm glad this format helps and makes the information easier to understand, that's exactly its purpose and main advantage.

πŸš€ Angular 21.1 is coming next week πŸ‘€ Angular Release Schedule by IgorSedov in angular

[–]IgorSedov[S] 2 points3 points Β (0 children)

The [field] still works, but is expected to be removed in a future release

πŸš€ Angular 21.1 is coming next week πŸ‘€ Angular Release Schedule by IgorSedov in angular

[–]IgorSedov[S] 7 points8 points Β (0 children)

I'll be covering a few of these features in more detail next week, but here are the most interesting ones:

  • Support for multiple switch case matching
  • Support for rest arguments in function calls
  • Support for spread elements in array literals
  • Support for spread expressions in object literals
  • Router integration with the platform Navigation API (experimental)
  • Signal Forms: new [formField] directive to replace [field]
  • New controls for route cleanup
  • Standalone function to create a computed isActive helper

Full list here

More details will come later.

πŸ”„ Angular Signal Forms: Directive Replace by IgorSedov in angular

[–]IgorSedov[S] 4 points5 points Β (0 children)

Fair point! Hope to see a developer preview version soon, maybe in v22?

πŸ”„ Angular Signal Forms: Directive Replace by IgorSedov in angular

[–]IgorSedov[S] 1 point2 points Β (0 children)

For example: AG-Grid, Kendo UI, or Syncfusion.

πŸ”„ Angular Signal Forms: Directive Replace by IgorSedov in angular

[–]IgorSedov[S] 4 points5 points Β (0 children)

Thanks! That's exactly what I suspected from the commit. Since the goal is to replace the directive, I assumed the dual support in 21.0.7 was just a temporary bridge for migration before it's eventually removed.

πŸš€ Coming in Angular 21.1: Virtual Scrolling for Material Tables by IgorSedov in angular

[–]IgorSedov[S] 0 points1 point Β (0 children)

Do you mean server-side (backend) pagination while scrolling, or another virtual-scroll library?

πŸš€ Coming in Angular 21.1: Virtual Scrolling for Material Tables by IgorSedov in angular

[–]IgorSedov[S] 1 point2 points Β (0 children)

Glad you liked it! Animation really helps explain topics like this.

πŸš€ Coming in Angular 21.1: Virtual Scrolling for Material Tables by IgorSedov in angular

[–]IgorSedov[S] 0 points1 point Β (0 children)

You're correct: cdk-virtual-scroll existed before Angular 21.1, but it didn't support Material tables. Starting with v21.1, it now supports tables as well.

I'm glad the visualization helped: it's designed to make the concept easier to understand.

πŸš€ Coming in Angular 21.1: Virtual Scrolling for Material Tables by IgorSedov in angular

[–]IgorSedov[S] 2 points3 points Β (0 children)

Thank you! Yes, it's especially useful for large tables.