aboutsummaryrefslogtreecommitdiffstats
path: root/src/service/compiler.js
diff options
context:
space:
mode:
authorMisko Hevery2011-11-08 17:40:03 -0800
committerMisko Hevery2011-11-14 20:31:15 -0800
commit085e3c611fd0cd48757702c50c67b551a00a0d38 (patch)
tree879f19d0a829c828c3636b38c8c422f732a829a9 /src/service/compiler.js
parent4b35a59c6afd5093ed5ce7d68b75ccadd4c53696 (diff)
downloadangular.js-085e3c611fd0cd48757702c50c67b551a00a0d38.tar.bz2
new(directive): added ng:module directive for loading modules
Diffstat (limited to 'src/service/compiler.js')
-rw-r--r--src/service/compiler.js14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/service/compiler.js b/src/service/compiler.js
index 220d9c39..1bd2cbe0 100644
--- a/src/service/compiler.js
+++ b/src/service/compiler.js
@@ -27,7 +27,11 @@ function $CompileProvider(){
}
forEach(this.linkFns, function(fn) {
try {
- $injector.invoke(childScope, fn, locals);
+ if (isArray(fn) || fn.$inject) {
+ $injector.invoke(childScope, fn, locals);
+ } else {
+ fn.call(childScope, element);
+ }
} catch (e) {
$exceptionHandler(e);
}
@@ -52,10 +56,6 @@ function $CompileProvider(){
addLinkFn:function(linkingFn) {
if (linkingFn) {
- //TODO(misko): temporary hack.
- if (isFunction(linkingFn) && !linkingFn.$inject) {
- linkingFn.$inject = ['$element'];
- }
this.linkFns.push(linkingFn);
}
},
@@ -298,7 +298,9 @@ function $CompileProvider(){
fn = directiveFns[name];
if (fn) {
element.addClass('ng-directive');
- template.addLinkFn((directiveFns[name]).call(selfApi, value, element));
+ template.addLinkFn((isArray(fn) || fn.$inject)
+ ? $injector.invoke(selfApi, fn, {$value:value, $element: element})
+ : fn.call(selfApi, value, element));
}
});
}