mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-19 16:10:22 +00:00
improve error handling with elements
This commit is contained in:
parent
0d87208553
commit
c7d64f6d12
5 changed files with 14 additions and 16 deletions
|
|
@ -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()]
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
//////////////////////////////
|
||||
|
||||
function Browser(location, document) {
|
||||
this.delay = 25;
|
||||
this.delay = 50;
|
||||
this.expectedUrl = location.href;
|
||||
this.urlListeners = [];
|
||||
this.hoverListener = noop;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue