04/02/2019 Development / java script

Hoje eu vou falar de uma parada muito maneira que eu precisei fazer...

Eu tenho uma porrada de métodos e propriedades dentro de 1 controller.

Ai eu preciso reutilizar esse controller dentro de um modal por exemplo, abrindo o meu modal e falando que o controller é esse ai, um controller externo.

this._$mdDialog.show({
controller: this.OtherController,
controllerAs: 'ctrl',
templateUrl: 'app/clientes/clientes.new.html',

Tipo isso...

Meu OtherContrller fica assim

OtherController(locals, $controller, $scope, $mdDialog, $state){

'ngInject';

var ctrl = $controller('ClientesNewController', {$scope: $scope, $state: { params : { id : null }}});

angular.extend(this, ctrl);

this.cancel = ()=> {

$mdDialog.cancel();
};

O this...alguma coisa, eu vou sobreescrevendo os meus metodos pra usar nesse novo controller, porem, uso todas as propriedades do outro controller.