filters en Angular moderno
Los filtros pasan a ser pipes. La sintaxis en el template es la misma; la definición es una clase con un método transform.
Antes · AngularJS
app.filter('initials', function () {
return function (name) {
return name.split(' ').map(function (p) { return p[0]; }).join('');
};
});
{{ user.name | initials }}Después · Angular@Pipe({ name: 'initials' })
export class InitialsPipe implements PipeTransform {
transform(name: string): string {
return name.split(' ').map(p => p[0]).join('');
}
}
{{ user.name | initials }}Qué cambia
- Los filtros date, currency, number, uppercase y json tienen pipes equivalentes.
- Los filtros filter y orderBy no existen: filtra y ordena en el componente.
- Los pipes son puros por defecto, así que solo se ejecutan cuando cambia la entrada.
Consejo de migración. Los formatos de fecha y número cambian un poco entre los filtros de AngularJS y los pipes de Angular. Compara el resultado con datos reales antes de publicar.
Relacionado
- services, factories and providers
- ui-router / ngRoute
- $stateChangeStart / transition hooks
- bindings (<, @, &, =)
¿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