如果定义了注入依赖项?

时间:2014-04-10 14:34:40

标签: angularjs

我有一个名为gMap的角度模块。它输出谷歌地图。 我也有名为Current Position的模块。它从浏览器位置api获取当前位置,并在用户批准该位置时广播它。

我想允许我的gMap模块监听currentLocation的广播,但我不希望currentLocation成为使用gMap的必要条件。如果我这样做:

angular.module('gMap', ['currentLocation']).

必须定义当前位置。是否可以在不注入或使用类似“isset”之类的东西的情况下广播到模块来注入依赖项?

1 个答案:

答案 0 :(得分:1)

您可以使用$ injector服务查看服务是否可用。

例如,在某些gMap的启动代码中,您可以执行以下操作:

 if( $injector.has('currentLocation') ) {
      // setup your broadcast listener
 }

请参阅$injector docs