Instead of getting an array of ctrls you now get them by name, just like bindings use for:
class MyComponentController implements ng.IComponentController { public modelCtrl: ng.INgModelController; ... ...
Or if you prefer plain JS:
function MyComponentController() { ... ... // use this.modelCtrl here ... ... } var MyComponent = { template: '...', bindings: {...}, require: { modelCtrl: 'ngModel' }, controller: MyComponentController }; angular.module('myModule').component('MyComponent', MyComponent);
source share