当前位置:  开发笔记 > 前端 > 正文

ng-show/ng-if不立即更新dom高度

如何解决《ng-show/ng-if不立即更新dom高度》经验,为你挑选了1个好方法。

我有一个很长的div,它是由ng-hide隐藏/显示的.这是一个基于离子演示的示例.

单击按钮以显示或隐藏longDiv.如果您在隐藏或显示页面后尝试立即滚动页面.有时您可以发现即使在longDiv隐藏之后页面也可以向下滚动.有时甚至在longDiv显示后页面也无法向下滚动.但是如果等待几秒钟,然后尝试滚动页面,滚动条可以匹配页面的实际高度.

HTML:


  
  
{{i}}

JS:

.controller('controller', function ($scope) {
     $scope.test = {};
     $scope.test.show_detail = true;
     $scope.test.list = [];
     for(i=0; i< 1000; i++){
       $scope.test.list.push(i);
     }
}

如果longDiv中存在复杂的模板内容,则此问题很容易重现.

有什么方法可以避免这个问题吗?



1> tasseKATT..:

我不太了解Ionic足以说它为什么更新这么慢,但你应该能够通过激活overflow-scroll属性的原生滚动来解决它:


或者通过注入$ionicScrollDelegate控制器并resize手动调用:

$scope.toggle = function() {
  $scope.test.show_detail = !$scope.test.show_detail;
  $ionicScrollDelegate.resize();
};

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有