mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-05-18 19:41:07 +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 = {
|
PerfCntl.prototype = {
|
||||||
createItems: function(){
|
createItems: function(){
|
||||||
var items = [];
|
var items = [];
|
||||||
for ( var i = 0; i < 100; i++) {
|
for ( var i = 0; i < 1000; i++) {
|
||||||
var item = {
|
var item = {
|
||||||
name: "" + Math.random(),
|
name: "" + Math.random(),
|
||||||
parts: [Math.random(), Math.random()]
|
parts: [Math.random(), Math.random()]
|
||||||
|
|
|
||||||
|
|
@ -291,12 +291,15 @@ function elementError(element, type, error) {
|
||||||
while (!isRenderableElement(element)) {
|
while (!isRenderableElement(element)) {
|
||||||
element = element.parent() || jqLite(document.body);
|
element = element.parent() || jqLite(document.body);
|
||||||
}
|
}
|
||||||
if (error) {
|
if (element[0]['$NG_ERROR'] !== error) {
|
||||||
element.addClass(type);
|
element[0]['$NG_ERROR'] = error;
|
||||||
element.attr(type, error);
|
if (error) {
|
||||||
} else {
|
element.addClass(type);
|
||||||
element.removeClass(type);
|
element.attr(type, error);
|
||||||
element.removeAttr(type);
|
} else {
|
||||||
|
element.removeClass(type);
|
||||||
|
element.removeAttr(type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
//////////////////////////////
|
//////////////////////////////
|
||||||
|
|
||||||
function Browser(location, document) {
|
function Browser(location, document) {
|
||||||
this.delay = 25;
|
this.delay = 50;
|
||||||
this.expectedUrl = location.href;
|
this.expectedUrl = location.href;
|
||||||
this.urlListeners = [];
|
this.urlListeners = [];
|
||||||
this.hoverListener = noop;
|
this.hoverListener = noop;
|
||||||
|
|
|
||||||
|
|
@ -53,14 +53,8 @@ function expressionCompile(exp){
|
||||||
parser.assertAllConsumed();
|
parser.assertAllConsumed();
|
||||||
compileCache[exp] = expFn;
|
compileCache[exp] = expFn;
|
||||||
}
|
}
|
||||||
return parserNewScopeAdapter(expFn);
|
|
||||||
}
|
|
||||||
|
|
||||||
// return expFn
|
|
||||||
// TODO(remove this hack)
|
|
||||||
function parserNewScopeAdapter(fn) {
|
|
||||||
return function(){
|
return function(){
|
||||||
return fn(this);
|
return expFn(this);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -296,8 +296,9 @@ var angularFunction = {
|
||||||
if (isFunction(expression)){
|
if (isFunction(expression)){
|
||||||
return expression;
|
return expression;
|
||||||
} else if (expression){
|
} else if (expression){
|
||||||
|
var fn = expressionCompile(expression);
|
||||||
return function($) {
|
return function($) {
|
||||||
return expressionCompile(expression).apply($);
|
return fn.apply($);
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
return identity;
|
return identity;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue