如何轻松有效地查看Angular依赖项提供的可用组件?

时间:2015-01-11 13:16:34

标签: angularjs dependency-injection angular-services

我正在查看the tutorial here(下面转载的代码),但此问题适用于任何Angular应用。

问题是:当我要么编写Angular应用程序或者查看其他人时,我会经常看到使用的变量似乎没有在任何地方声明。他们似乎无处不在,引起很多困惑。当然,这些变量最终是创建应用程序时指定的依赖项中的工厂,服务,常量等。

例如:

angular.module('myApp', ['ngRoute'])
.config(function($routeProvider) {
  $routeProvider.when('/', {
    controller: 'WelcomeController',
    template: 'views/welcome.html'
  });
})
.config(function(ConnectionProvider) {
  ConnectionProvider.setApiKey('SOME_API_KEY');
})

在地球上,在大型应用中,我是否知道$routeProvider来自ngRoute,或ConnectionProvider来自哪里?另外,另一方面,有没有办法快速了解哪些工厂和服务可以从依赖项中使用?

1 个答案:

答案 0 :(得分:0)

Angular有一个内部模块ng,在引导时会在模块堆栈的顶部进行初始化。在此ng模块中,注册了内部指令/控制器/服务。但是,您无法将此信息视为Angular将其保留为私有属性cacheProvider。最好的方法是阅读源代码。

对于您自己的模块。你可以通过angular.module('yourModule')._invokeQueue获得更多信息,你定义的所有内容都带有后缀provider