aboutsummaryrefslogtreecommitdiffstats
path: root/src/Compiler.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/Compiler.js')
-rw-r--r--src/Compiler.js17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/Compiler.js b/src/Compiler.js
index c8910c27..bcf1f61a 100644
--- a/src/Compiler.js
+++ b/src/Compiler.js
@@ -30,7 +30,9 @@ Template.prototype = {
element = jqLite(element);
foreach(this.inits, function(fn) {
queue.push(function(scope) {
- scope.$tryEval(fn, element, element);
+ scope.$tryEval(function(){
+ return fn.call(scope, element);
+ }, element);
});
});
@@ -121,20 +123,25 @@ Compiler.prototype = {
descend: function(value){ if(isDefined(value)) descend = value; return descend;},
directives: function(value){ if(isDefined(value)) directives = value; return directives;}
};
- priority = element.attr('ng-eval-order') || priority || 0;
+ try {
+ priority = element.attr('ng:eval-order') || priority || 0;
+ } catch (e) {
+ // for some reason IE throws error under some weird circumstances. so just assume nothing
+ priority = priority || 0;
+ }
if (isString(priority)) {
priority = PRIORITY[uppercase(priority)] || 0;
}
template = new Template(priority);
eachAttribute(element, function(value, name){
if (!widget) {
- if (widget = self.widgets['@' + name]) {
+ if (widget = self.widgets('@' + name)) {
widget = bind(selfApi, widget, value, element);
}
}
});
if (!widget) {
- if (widget = self.widgets[nodeName(element)]) {
+ if (widget = self.widgets(nodeName(element))) {
widget = bind(selfApi, widget, element);
}
}
@@ -200,7 +207,7 @@ function eachAttribute(element, fn){
var i, attrs = element[0].attributes || [], chld, attr, name, value, attrValue = {};
for (i = 0; i < attrs.length; i++) {
attr = attrs[i];
- name = attr.name.replace(':', '-');
+ name = attr.name;
value = attr.value;
if (msie && name == 'href') {
value = decodeURIComponent(element[0].getAttribute(name, 2));