diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/widgets.js | 10 | 
1 files changed, 9 insertions, 1 deletions
diff --git a/src/widgets.js b/src/widgets.js index 877f4a72..34cc258a 100644 --- a/src/widgets.js +++ b/src/widgets.js @@ -256,11 +256,19 @@ angularWidget('ng:include', function(element){      return extend(function(xhr, element){        var scope = this, childScope;        var changeCounter = 0; +      var preventRecursion = false;        function incrementChange(){ changeCounter++;}        this.$watch(srcExp, incrementChange);        this.$watch(scopeExp, incrementChange);        scope.$onEval(function(){ -        if (childScope) childScope.$eval(); +        if (childScope && !preventRecursion) { +          preventRecursion = true; +          try { +            childScope.$eval(); +          } finally { +            preventRecursion = false; +          } +        }        });        this.$watch(function(){return changeCounter;}, function(){          var src = this.$eval(srcExp),  | 
