我正在使用Angular.js构建一个Phonegap应用程序.在索引页面中,您可以单击“显示用户列表”按钮,该按钮会将您重定向到在ng-view中加载模板的页面.该模板包含用户列表,这些用户从$rootScope.users加载并使用ng-repeat进行渲染.问题是有很多用户(现在大约120个),因此页面渲染速度很慢,尤其是在Phonegap中.因此,当我单击“显示用户列表”按钮时,地址栏中的URL会立即更改,但ng-view中的内容仅在几秒钟后更改.因此,我想显示加载动画,直到呈现视图,因此用户知道页面正在加载.
我创建了一个加载动画 – 一个带有ng-show =“loading.visible”的div.在按钮上,我设置ng-click =“loading.visible = true”并在“用户”页面的控制器中写道:
angular.element(document).ready(function(){
$scope.loading.visible = false;
})
第一次按下按钮时效果很好.动画立即显示,并在用户列表显示时消失.但是当我返回索引页面并再次按“显示用户列表”按钮时,加载动画不会显示,直到呈现用户列表,然后它显示大约100毫秒并消失.
我是Angular的新手,所以我不确定它是如何工作的,有人能告诉我什么是错的,有没有更好的解决方案来处理这个问题?谢谢
解决方法:
尝试在页面控制器中使用以下内容
$scope.$on('$viewContentLoaded', function ()
{
$scope.loading.visible = false;
});
代替
angular.element(document).ready(function(){});
还要在角度文档中查找ng-cloak.
希望这可以帮助.
谢谢
原文地址:https://codeday.me/bug/20190624/1278674.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。