Um controlador AngularJS pode herdar de outro controlador no mesmo módulo?
Dentro de um módulo, um controlador pode herdar propriedades de um controlador externo:
var app = angular.module('angularjs-starter', []);
var ParentCtrl = function ($scope, $location) {
};
app.controller('ChildCtrl', function($scope, $injector) {
$injector.invoke(ParentCtrl, this, {$scope: $scope});
});
Exemplo via:Elo morto: http://blog.omkarpatil.com/2013/02/controller-inheritance-in-angularjs.html
Também pode um controlador dentro de um módulo herdar de um irmão?
var app = angular.module('angularjs-starter', []);
app.controller('ParentCtrl ', function($scope) {
//I'm the sibling, but want to act as parent
});
app.controller('ChildCtrl', function($scope, $injector) {
$injector.invoke(ParentCtrl, this, {$scope: $scope}); //This does not work
});
O segundo código não funciona desde$injector.invoke
requer uma função como primeiro parâmetro e não encontra a referência paraParentCtrl
.