In angularjs, given a module, how do you check if a directive/controller exists given a module.
I have a module and I want to know if some particular directives have been loaded. Below is some sample code:
var module = angular.module('myModule');
//check if controller exists
if (module.hasController('my.first.controller')){
//do something
}
if (module.hasDirective('my.first.directive')){
//do something
}
I have implemented this in a way. Looking for a better way of doing it if it is available by default.
Is this possible? If so, how do you do this?
Use this code to check if a service exists.
$injector.has('myServiceName')
To check if a directive exists, you must add a
Directive
suffix after the directive name:$injector.has('myDirectiveNameDirective')
Solved the problem by writing a wrapper function that is called to load the controllers and stuff and at such I'm able to tell when each directive is loaded.
I found some working code here
JSFiddle: http://jsfiddle.net/fracz/HB7LU/6780/