7

C'è un modo per sapere quali dipendenze sono state iniettate nel mio modulo Angolare?Elenco delle dipendenze iniettate

angular.module('myModule', [ 
    'ui.bootstrap' 
]) 
.controller('myController', [function() { 
    // var dependencies = Magic.dependencies; 
    // console.log(dependencies); 
}]); 

risposta

2

nel controller, se si inietta $window, si può scavare per le dipendenze, in particolare, esiste una .requires sul modulo. Per fare questo, puoi dichiarare il tuo var come uno $window globale, in questo caso, chiamiamolo app - oppure - puoi ignorare globals e $window e chiamare direttamente angular.module('myModule').requires.

  • Ho aggiunto ngRoute anche per dimostrare l'array di dipendenze che saranno rilevabili.


var app = angular.module('myModule', 
[ 
    'ui.bootstrap', 
    'ngRoute' 
]).controller('ctrl', ['$scope', '$window', function($scope, $window) { 
    console.log($window.app.requires) // ["ui.bootstrap", "ngRoute"] 
    console.log(angular.module('myModule').requires) // without global - $window not needed 
}]); 

JSFiddle Link - esempio di lavoro


Nota - Se globali facendo leva, si può semplicemente chiamare la window in quanto tale: window.app.requires - senza iniettare $window. Tuttavia, vedere AngularJS $window docs per capire perché è preferibile $window.

1

Edificio su @salniro's answer, non sono necessari i globali o $window.

Le dipendenze sono elencati sul .requires proprietà di angular.Module:

angular.module('myModule', [ 
    'ui.bootstrap', 
    'ngRoute' 
]) 
.controller('ctrl', function() { 
    var app = angular.module('myModule'); 
    console.log(app.requires); // ["ui.bootstrap", "ngRoute"] 
}); 

http://jsfiddle.net/8vtf6gar/1/

+0

Zach grazie per il suggerimento. Ho aggiornato la mia risposta con le vostre scoperte poiché questa era un'alternativa minore. Apprezzo che anche tu abbia esaminato questo aspetto – scniro

+0

. Grazie per aver fornito la risposta! Non ho mai saputo che fosse possibile –

Problemi correlati