我有一堆使用$timeouts来应用样式的指令。这会导致在几毫秒的时间内有一些内容未正确显示。有没有一种方法可以推迟AngularJS显示下一个模板,直到所有的$timeout样式都被应用?
ctehm74n1#
ng-cloak是用来隐藏元素直到它们准备好渲染,但是我对它没有太多的兴趣。我倾向于在控制器中使用一个变量:
$scope.loading = false $timeout(function() { // do stuff $scope.loading = true }, 2000);
然后在视图中:
<div ng-if="loading===true"> <!-- your page --> </div>
我还发现你应该把你的Angular <script>放在HTML头中。如果你像大多数人建议的那样把它放在页脚,那么页面在遇到它时就不知道ng-if是什么意思了。这会导致元素在屏幕上 Flink 。当Angular加载它时,它会隐藏它。这会导致页面加载时出现 Flink 效果。
<script>
1条答案
按热度按时间ctehm74n1#
ng-cloak是用来隐藏元素直到它们准备好渲染,但是我对它没有太多的兴趣。
我倾向于在控制器中使用一个变量:
然后在视图中:
我还发现你应该把你的Angular
<script>
放在HTML头中。如果你像大多数人建议的那样把它放在页脚,那么页面在遇到它时就不知道ng-if是什么意思了。这会导致元素在屏幕上 Flink 。当Angular加载它时,它会隐藏它。这会导致页面加载时出现 Flink 效果。