diff --git a/js/angular/controller/slideBoxController.js b/js/angular/controller/slideBoxController.js index c2ec743b3d..d42ffceb92 100644 --- a/js/angular/controller/slideBoxController.js +++ b/js/angular/controller/slideBoxController.js @@ -306,7 +306,7 @@ function(scope, element, $log, $document, $$q, $timeout, $interval, $$ionicAttac oldSlide = currentDisplayed[i]; if (oldSlide && newDisplayed.indexOf(oldSlide) === -1) { oldSlide.removeAttribute('slide-display'); - ionic.Utils.disconnectScope( jqLite(oldSlide).children().scope() ); + ionic.Utils.disconnectScope( jqLite(oldSlide).data('$ionSlideScope') ); } } @@ -316,7 +316,7 @@ function(scope, element, $log, $document, $$q, $timeout, $interval, $$ionicAttac function setDisplay(slide, display) { if (!slide) return; - var slideScope = jqLite(slide).children().scope(); + var slideScope = jqLite(slide).data('$ionSlideScope'); if (slideScope) { ionic.Utils.reconnectScope(slideScope); // Digest the slide so it updates before being shown diff --git a/js/angular/directive/slide.js b/js/angular/directive/slide.js index 89d695f0b3..5907f99468 100644 --- a/js/angular/directive/slide.js +++ b/js/angular/directive/slide.js @@ -32,6 +32,8 @@ IonicModule slideBoxCtrl.onAddSlide(); var childScope = scope.$new(); + element.data('$ionSlideScope', childScope); + // Disconnect by default, will be reconnected if shown ionic.Utils.disconnectScope(childScope);