diff --git a/js/angular/directive/collectionRepeat.js b/js/angular/directive/collectionRepeat.js index e6180e8a6c..28a0ece7e0 100644 --- a/js/angular/directive/collectionRepeat.js +++ b/js/angular/directive/collectionRepeat.js @@ -247,15 +247,24 @@ function($collectionRepeatManager, $collectionDataSource, $parse) { dataSource.setData(value, beforeSiblings, afterSiblings); collectionRepeatManager.resize(); } + + var requiresRerender; function rerenderOnResize() { rerender(listExprParsed($scope)); + requiresRerender = (!scrollViewContent.clientWidth && !scrollViewContent.clientHeight); + } + + function viewEnter() { + if (requiresRerender) { + rerenderOnResize(); + } } scrollCtrl.$element.on('scroll.resize', rerenderOnResize); ionic.on('resize', rerenderOnResize, window); var deregisterViewListener; if (navViewCtrl) { - deregisterViewListener = navViewCtrl.scope.$on('$ionicView.beforeEnter', rerenderOnResize); + deregisterViewListener = navViewCtrl.scope.$on('$ionicView.afterEnter', viewEnter); } $scope.$on('$destroy', function() {