Tengo una función que actuara como un Controlador (lo manejo asi para los métodos privados):
function micontrolador($http){
var self = this;
self.metodoCoqueto = function(str){
console.log(str + _privado());
}
function _privado(){
return $http.get();
}
}
Ahora inyecto el controlador a angularJS:
angular.module('Academica')
.controller('MiControlador',[
'$http',
micontrolador
])
Pero tambien quiero mi directiva coqueta:
.directive('mibonitadirectiva', function(){
return {
restrict: 'E',
template: '<button>Hola mundo</button>',
//controller: ['$http', function($http){}], //esto no lo implemente por que queria mi controller aparte de la DIRECTIVA
controller: 'MiControlador',
link: function(scope, element, attrs){
var $element = $(element);
$element.on('click', function(){
//***
¿COMO LLAMO AL Método de mi controllador sin scope?
Intentos fallidos:
-- MiControlador.metodoCoqueto('boo');
-- algo con $eval
*/
});
}
};
});
Ahi el problema, hice un "parche"
$scope.metodo = self.metodo; //método fuchi :(
Y pues se me hace algo sucio, lo que pasa es que prefiero llamar a Controller.method() pues es mas legible en una bola de marañas de código, que funciona bien, pero cuando quieres retomar algo pasado.. no sabes ni a donde esta llamando.
Saludos y gracias por el apoyo