title: ng-show/ng-if doesn't update dom height immediately
body: <p>I have a long div which is hide/show by ng-hide.
  here is a sample based on ionic <a href="http://codepen.io/leonz/full/bEqbKM/" rel="nofollow noreferrer">demo</a>.</p>
  
  <p>Click the button to make the longDiv show or hide. If you try to scroll the page immediately after hiding or showing it. 
  sometimes you can find the page can scroll down even after longDiv hide. And sometimes page can not scroll down even after longDiv show. But if you wait for seconds, then try to scroll the page, the scroll bar can match the page's actual height.</p>
  
  <p>Html:</p>
  
  <pre><code>&lt;ion-content ng-controller="controller"&gt;
    &lt;button ng-click="test.show_detail=!test.show_detail"&gt;{{test.show_detail}}&lt;/button&gt;
    &lt;div ng-show='test.show_detail'&gt;
      &lt;div ng-repeat='i in test.list'&gt;
        {{i}}
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/ion-content&gt;
  </code></pre>
  
  <p>JS:</p>
  
  <pre><code>.controller('controller', function ($scope) {
       $scope.test = {};
       $scope.test.show_detail = true;
       $scope.test.list = [];
       for(i=0; i&lt; 1000; i++){
         $scope.test.list.push(i);
       }
  }
  </code></pre>
  
  <p>This issue is very easy to reproduce if there are complex template content in the long div container.</p>
  
  <p>Is there any method to avoid this issue?</p>