controllers en Angular moderno
Un controlador más su template pasa a ser un componente. El componente es dueño de su template, sus estilos y su estado.
Antes · AngularJS
<div ng-controller="UserListCtrl as vm">
<h2>{{ vm.title }}</h2>
</div>
app.controller('UserListCtrl', function (UserService) {
var vm = this;
vm.title = 'Users';
});Después · Angular@Component({
selector: 'app-user-list',
template: `<h2>{{ title }}</h2>`,
})
export class UserListComponent {
private users = inject(UserService);
title = 'Users';
}Qué cambia
- ng-controller en el HTML se reemplaza por el selector del componente.
- Las dependencias se piden con inject() en vez de parámetros de función.
- Los componentes son standalone: importan lo que usa su template.
Consejo de migración. Los controladores que hacen demasiado suelen ser la parte más difícil de una migración. Divídelos en un componente (lógica de vista) y un servicio (lógica de negocio) a medida que los mueves.
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