improve error handling with elements

This commit is contained in:
Misko Hevery 2010-05-30 16:34:59 -07:00
parent 0d87208553
commit c7d64f6d12
5 changed files with 14 additions and 16 deletions

View file

@ -8,7 +8,7 @@
PerfCntl.prototype = {
createItems: function(){
var items = [];
for ( var i = 0; i < 100; i++) {
for ( var i = 0; i < 1000; i++) {
var item = {
name: "" + Math.random(),
parts: [Math.random(), Math.random()]

View file

@ -291,12 +291,15 @@ function elementError(element, type, error) {
while (!isRenderableElement(element)) {
element = element.parent() || jqLite(document.body);
}
if (error) {
element.addClass(type);
element.attr(type, error);
} else {
element.removeClass(type);
element.removeAttr(type);
if (element[0]['$NG_ERROR'] !== error) {
element[0]['$NG_ERROR'] = error;
if (error) {
element.addClass(type);
element.attr(type, error);
} else {
element.removeClass(type);
element.removeAttr(type);
}
}
}

View file

@ -3,7 +3,7 @@
//////////////////////////////
function Browser(location, document) {
this.delay = 25;
this.delay = 50;
this.expectedUrl = location.href;
this.urlListeners = [];
this.hoverListener = noop;

View file

@ -53,14 +53,8 @@ function expressionCompile(exp){
parser.assertAllConsumed();
compileCache[exp] = expFn;
}
return parserNewScopeAdapter(expFn);
}
// return expFn
// TODO(remove this hack)
function parserNewScopeAdapter(fn) {
return function(){
return fn(this);
return expFn(this);
};
}

View file

@ -296,8 +296,9 @@ var angularFunction = {
if (isFunction(expression)){
return expression;
} else if (expression){
var fn = expressionCompile(expression);
return function($) {
return expressionCompile(expression).apply($);
return fn.apply($);
};
} else {
return identity;