javascript - How to get all directive names in a given angular app? -


say have angular app, has modules , directives.
want list of defined directives in app.

for example:

var mymodule = angular.module('mymodule', [function(){...}]); mymodule.directive('mydirective', [function () {...}]); mymodule.directive('myotherdirective', [function () {...}]); var myothermodule = angular.module('myothermodule', [function(){...}]); myothermodule.directive('thirddirective', [function () {...}]); 

i want write function getalldirectives() return ['mydirective','myotherdirective','thirddirective'].

also if possible know module each directive belongs to:

{     'mymodule': ['mydirective','myotherdirective'],     'myothermodule':['thirddirective'] } 

how can done?
please note need outside app , after has loaded. have access publicly available on page, such angular object , dom.

you can directives defined in each module using custom function one:

function get_directives(name) {     var result  = [],         invokes = angular.module(name)._invokequeue;      for(var i=0; i<invokes.length; ++i) {         if(invokes[i][1] == "directive") {             result.push(invokes[i][2][0]);         }     }      return result; }  var result = {     'mymodule':      get_directives('mymodule'),     'myothermodule': get_directives('myothermodule'), }; 

you inspect angular.module('module_name')._invokequeue list future knowledge.


Comments

Popular posts from this blog

tcpdump - How to check if server received packet (acknowledged) -