Angular has deprecated old directives like NgIf, NgFor, and NgSwitch in favor of new control flow syntax @if, @for, and @switch.
The control flow migration script in Angular requires manual checking as it may not convert everything accurately.
Lessons learned from a team's conversion process include avoiding running the script on the entire application to prevent regression bugs.
Splitting the work into smaller tasks with fewer than 100 *ngIf statements each helps manage the conversion process effectively.
Avoid making non-script changes during the migration process to prevent unforeseen complications.
Dangerous pitfalls to avoid include converting negated if-statements to if-else and removing redundant
tags post-conversion.
Replacing let i = $index with just $index is a safer change during migration, as it is easier to review and test.
Handling inline elements properly to avoid unwanted spacing issues post-migration is essential for code cleanliness.
Adding trackBy functions to *ngFor loops brings performance gains, with unique identifiers preferred for optimal results.
Caution is advised when dealing with ng-template else blocks, random HTML placement, and formatting issues during the migration process for Angular control flow.