aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMisko Hevery2011-11-14 15:58:40 -0800
committerMisko Hevery2011-11-14 20:31:21 -0800
commit8adae2fdf272f3fa428cc9fe43c860c02b2d85fd (patch)
treebbfa04ebaa99fcb4f7dddd4a320b8dfe55e6c298 /src
parent955551141de88f15760e3e6e8cb8503ee34b6f6e (diff)
downloadangular.js-8adae2fdf272f3fa428cc9fe43c860c02b2d85fd.tar.bz2
refactor(injector): removed loadModule/ng:module
- added module property to doc:example
Diffstat (limited to 'src')
-rw-r--r--src/Injector.js19
-rw-r--r--src/directives.js9
-rw-r--r--src/service/compiler.js12
3 files changed, 10 insertions, 30 deletions
diff --git a/src/Injector.js b/src/Injector.js
index 1db79eb8..8df47306 100644
--- a/src/Injector.js
+++ b/src/Injector.js
@@ -140,21 +140,6 @@ function inferInjectionArgs(fn) {
* @return new instance of `Type`.
*/
-/**
- * @ngdoc method
- * @name angular.module.AUTO.$injector#loadModule
- * @methodOf angular.module.AUTO.$injector
- * @description
- * Load additional modules into the current injector configuration
- *
- * @param {Array} modules An array of modules, where module is a:
- *
- * - `string`: look up the module function from {@link angular.module} and then treat as `function`.
- * - `function`: execute the module configuration function using
- * {@link angular.module.AUTO.$injector#invoke $injector.invoke()}
- */
-
-
/**
* @ngdoc object
@@ -255,15 +240,13 @@ function inferInjectionArgs(fn) {
function createInjector(modulesToLoad, moduleRegistry) {
var cache = {},
providerSuffix = 'Provider',
- providerSuffixLength = providerSuffix.length,
path = [],
$injector;
value('$injector', $injector = {
get: getService,
invoke: invoke,
- instantiate: instantiate,
- loadModule: loadModule
+ instantiate: instantiate
});
value('$provide', {
service: service,
diff --git a/src/directives.js b/src/directives.js
index f508d40b..da540df5 100644
--- a/src/directives.js
+++ b/src/directives.js
@@ -887,12 +887,3 @@ angularDirective("ng:cloak", function(expression, element) {
element.removeAttr('ng:cloak');
element.removeClass('ng-cloak');
});
-
-angularDirective('ng:module', ['$value', '$injector',
- function(modules, $injector) {
- forEach(modules.split(','), function(module){
- if (module = trim(module)) {
- $injector.loadModule(module);
- }
- });
-}]);
diff --git a/src/service/compiler.js b/src/service/compiler.js
index 3464a1a0..8a0dca7d 100644
--- a/src/service/compiler.js
+++ b/src/service/compiler.js
@@ -244,6 +244,7 @@ function $CompileProvider(){
elementName = nodeName_(element),
elementNamespace = elementName.indexOf(':') > 0 ? lowercase(elementName).replace(':', '-') : '',
template,
+ locals = {$element: element},
selfApi = {
compile: bind(self, self.compile),
descend: function(value){ if(isDefined(value)) descend = value; return descend;},
@@ -256,7 +257,10 @@ function $CompileProvider(){
if (!widget) {
if ((widget = self.widgets('@' + name))) {
element.addClass('ng-attr-widget');
- widget = bind(selfApi, widget, value, element);
+ if (isFunction(widget) && !widget.$inject) {
+ widget.$inject = ['$value', '$element'];
+ }
+ locals.$value = value;
}
}
});
@@ -264,14 +268,16 @@ function $CompileProvider(){
if ((widget = self.widgets(elementName))) {
if (elementNamespace)
element.addClass('ng-widget');
- widget = bind(selfApi, widget, element);
+ if (isFunction(widget) && !widget.$inject) {
+ widget.$inject = ['$element'];
+ }
}
}
if (widget) {
descend = false;
directives = false;
var parent = element.parent();
- template.addLinkFn(widget.call(selfApi, element));
+ template.addLinkFn($injector.invoke(selfApi, widget, locals));
if (parent && parent[0]) {
element = jqLite(parent[0].childNodes[elementIndex]);
}