ng-switch en Angular moderno
ng-switch pasa a ser el bloque @switch, integrado en la sintaxis de templates. No necesita un elemento contenedor ni imports.
Antes · AngularJS
<div ng-switch="vm.order.status">
<span ng-switch-when="pending">Pending</span>
<span ng-switch-when="shipped">Shipped</span>
<span ng-switch-default>Unknown</span>
</div>Después · Angular@switch (order().status) {
@case ('pending') { <span>Pending</span> }
@case ('shipped') { <span>Shipped</span> }
@default { <span>Unknown</span> }
}Qué cambia
- ng-switch-when pasa a ser @case, y ng-switch-default pasa a ser @default.
- @case compara con ===, y cada caso acepta cualquier expresión en vez de un atributo de texto.
- No hay fallthrough: solo se renderiza el bloque que coincide y no hace falta break.
Consejo de migración. AngularJS comparaba los valores de ng-switch-when como strings, así que un estado numérico 1 coincidía con when='1'. @case usa igualdad estricta, así que revisa el tipo real del valor antes de convertir.
Relacionado
¿Planeas una migración o una plataforma de microfrontends?
En una llamada de 20 minutos me cuentas tu situación y te digo cómo la abordaría. Si todavía no vale la pena, también te lo digo.
Escríbeme por LinkedIn