如何使用Angularjs检查模块中的指令或控制器是否可用

rit*_*der 14 javascript angularjs

在angularjs中,给定一个模块,如何在给定模块的情况下检查指令/控制器是否存在.

我有一个模块,我想知道是否已经加载了一些特定的指令.以下是一些示例代码:

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
}
Run Code Online (Sandbox Code Playgroud)

我已经以某种方式实现了这一点.如果默认情况下可用,请寻找更好的方法.

这可能吗?如果是这样,你怎么做?

Pia*_*M4n 17

使用此代码检查服务是否存在.

$injector.has('myServiceName')

要检查指令是否存在,必须Directive在指令名后添加后缀:

$injector.has('myDirectiveNameDirective')