diff options
| author | Misko Hevery | 2010-08-10 11:23:23 -0700 | 
|---|---|---|
| committer | Misko Hevery | 2010-08-10 11:23:23 -0700 | 
| commit | 9b392eca3597fdc9dab81d88df75bef75f6e678f (patch) | |
| tree | cd103d0830eb52a315dd605ccf4ba3a436743d45 /src/Scope.js | |
| parent | 4aac29da18ea4680a928edccc28dd8edad93e593 (diff) | |
| download | angular.js-9b392eca3597fdc9dab81d88df75bef75f6e678f.tar.bz2 | |
fix bug where $eval on undefined throws error
Diffstat (limited to 'src/Scope.js')
| -rw-r--r-- | src/Scope.js | 12 | 
1 files changed, 7 insertions, 5 deletions
| diff --git a/src/Scope.js b/src/Scope.js index 4d2aa5c3..86d5bc14 100644 --- a/src/Scope.js +++ b/src/Scope.js @@ -130,7 +130,8 @@ function createScope(parent, services, existing) {      $set: bind(instance, setter, instance),      $eval: function $eval(exp) { -      if (exp === undefined) { +      var type = typeof exp; +      if (type == 'undefined') {          for ( var i = 0, iSize = evalLists.sorted.length; i < iSize; i++) {            for ( var queue = evalLists.sorted[i],                jSize = queue.length, @@ -138,18 +139,19 @@ function createScope(parent, services, existing) {              instance.$tryEval(queue[j].fn, queue[j].handler);            }          } -      } else if (typeof exp === 'function'){ +      } else if (type === 'function') {          return exp.call(instance); -      } else { +      } else  if (type === 'string') {          return expressionCompile(exp).call(instance);        }      },      $tryEval: function (expression, exceptionHandler) { +      var type = typeof expression;        try { -        if (typeof expression == 'function') { +        if (type == 'function') {            return expression.call(instance); -        } else { +        } else if (type == 'string'){            return expressionCompile(expression).call(instance);          }        } catch (e) { | 
