diff options
| author | Misko Hevery | 2011-11-14 15:58:40 -0800 |
|---|---|---|
| committer | Misko Hevery | 2011-11-14 20:31:21 -0800 |
| commit | 8adae2fdf272f3fa428cc9fe43c860c02b2d85fd (patch) | |
| tree | bbfa04ebaa99fcb4f7dddd4a320b8dfe55e6c298 /src/service/compiler.js | |
| parent | 955551141de88f15760e3e6e8cb8503ee34b6f6e (diff) | |
| download | angular.js-8adae2fdf272f3fa428cc9fe43c860c02b2d85fd.tar.bz2 | |
refactor(injector): removed loadModule/ng:module
- added module property to doc:example
Diffstat (limited to 'src/service/compiler.js')
| -rw-r--r-- | src/service/compiler.js | 12 |
1 files changed, 9 insertions, 3 deletions
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]); } |
