Ho un regolatore di iscritti in questo modo:Come posso utilizzare un controller registrato nella mia direttiva angolare?
myModule.controller('MyController', function ($scope, ...some dependencies...)
{
....
Utilizzando ng-controller="MyController"
nel codice HTML tutto funziona bene, ma ora voglio utilizzare questo controller come controllore della mia direttiva. Qualche cosa come questa:
otherModule.directive('myDirective', function() {
return {
restrict: 'A',
replace: true,
controller: ??????????,
scope: {
foo: '=',
blah: '=',
},
template: '....'
}
});
mi stanco solo mettendo MyController
ma è errori fuori dicendo "MyController non è definita". Sono sicuro che se inserissi lo MyController
nello spazio dei nomi globale, funzionerebbe bene, ma non voglio nulla nello spazio dei nomi globale. Se fa la differenza, myModule
è definito come una dipendenza per otherModule
. Come posso ottenere un riferimento a questo controller per la mia direttiva da utilizzare?
Come suggerito, ho provato $controller('MyController')
, ma ora sto ottenendo il seguente errore:
Error: Unknown provider: $scopeProvider <- $scope <- myDirectiveDirective
at Error (<anonymous>)
at http://localhost/resources/angular.js?_=1360613988651:2627:15
at Object.getService [as get] (http://localhost/resources/angular.js?_=1360613988651:2755:39)
at http://localhost/resources/angular.js?_=1360613988651:2632:45
at getService (http://localhost/resources/angular.js?_=1360613988651:2755:39)
at invoke (http://localhost/resources/angular.js?_=1360613988651:2773:13)
at Object.instantiate (http://localhost/resources/angular.js?_=1360613988651:2805:23)
at http://localhost/resources/angular.js?_=1360613988651:4621:24
at otherModule.directive.restrict (http://localhost/resources/app.js?_=1360613988824:862:15)
at Object.invoke (http://localhost/resources/angular.js?_=1360613988651:2786:25)
Non sono sicuro di cosa fare di questo errore. C'è più bisogno di fare questo lavoro?
E 'un po' strano avere funzione di costruzione di controllo di una direttiva essere definito al di fuori della direttiva. Se per nessun altro motivo, gli argomenti iniettabili sono diversi per le funzioni del costruttore del controllore di direttive e il tipo di controller ng delle funzioni del costruttore del controllore. –