diff options
Diffstat (limited to 'src/widgets.js')
| -rw-r--r-- | src/widgets.js | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/widgets.js b/src/widgets.js index 4585629a..c131b646 100644 --- a/src/widgets.js +++ b/src/widgets.js @@ -625,9 +625,20 @@ 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 && !preventRecursion) { + preventRecursion = true; + try { + childScope.$eval(); + } finally { + preventRecursion = false; + } + } + }); this.$watch(function(){return changeCounter;}, function(){ var src = this.$eval(srcExp), useScope = this.$eval(scopeExp); |
