/** * Module definition and dependencies */ angular.module('App.Child', []) /** * Component */ .component('child', { templateUrl: 'child.html', controller: 'ChildCtrl', }) /** * Controller */ .controller('ChildCtrl', function($controller, $parentDep) { //Get controllers const $ctrl = this; const $base = $controller('ParentCtrl', {$parentDep}); //Extend angular.extend($ctrl, $base); /** * On init */ this.$onInit = function() { //Call parent init $base.$onInit.call(this); //Do other stuff this.somethingElse = true; }; });