用途:介绍 Angular 17+(2025)模板中的新控制流语法,用于条件渲染、循环、分支与懒加载,替代已弃用的 *ngIf、*ngFor、*ngSwitch。标签为 Control Flow、@if、@for、@switch、@defer。参考 Control Flow 与 Deferrable Views。
主要能力:@if 替代 *ngIf,支持 @else 与 @else if;@for 替代 *ngFor,需配合 track(如 track item.id)提升性能,并支持 @empty 处理空列表;@switch 替代 ngSwitch,含 @case 与 @default;@defer 用于懒加载组件,支持 on viewport、on hover、when isReady 等条件与 @placeholder 占位。
使用方式:在组件模板中直接书写上述语法,例如 @if (isLoggedIn) { ... } @else { ... };@for (item of items; track item.id) 搭配 @empty;@defer (on viewport) { <heavy-chart /> } @placeholder { ... }。迁移旧写法可运行:ng generate @angular/core:control-flow。
限制:*ngIf、*ngFor、*ngSwitch 已标记弃用,建议迁移到新语法;资料未提供收费、价格、平台及更多限制说明。