Carlos Cifuentes
Referencia AngularJS → Angular

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