aboutsummaryrefslogtreecommitdiffstats
path: root/docs/content/api/angular.module.ngdoc
blob: ccfec6b7949614a821f4ccaab65e63ff6748214d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
@ngdoc overview
@name angular.module
@description

The angular.module namespace is a global place for registering angular modules. All modules
(angular core or 3rd party) that should be available to an application must be registered in this
namespace.

# Module

A module is a function that is used to register new service providers and configure existing
providers. Once a provider is registered, {@link angular.module.AUTO.$injector $injector} will use
it to ask for a service instance when it is resolving a dependency for the first time.

<pre>
// Declare the module configuration function.
// The function arguments are fully injectable so that the module function
// can create new providers or configure existing ones.
function MyModule($provide, $locationProvider){
  // see $provide for more information.
  $provide.value('appName', 'MyCoolApp');

  // Configure existing providers
  $locationProvider.hashPrefix = '!';
};
</pre>

See: {@link angular.module.AUTO.$provide $provide}, {@link angular.module.ng.$locationProvider $locationProvider}.

# Registering Module Function

In your JavaScript file:
<pre>
// Create the angular.module namespace if one does not exist
// This allows the module code to be loaded before angular.js code.
if (!window.angular) window.angular = {};
if (!angular.module) angular.module = {};

angular.module.MyModule = function(){
  // add configuration code here.
};
</pre>

Then you can refer to your module like this:

<pre>
var injector = angular.injector('ng', 'MyModule')
</pre>

Or

<pre>
var injector = angular.injector('ng', angular.module.MyModule)
</pre>